求教高手,初学javaweb,有一个关于抽奖后台程序的疑惑

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求教高手,初学javaweb,有一个关于抽奖后台程序的疑惑相关的知识,希望对你有一定的参考价值。

小弟正在做一个抽奖的项目,前端程序用jquery ajax,后端程序负责用概率算法计算中奖数字,返回给ajax,而且负责和数据库交互,插入和更新数据。我把完成这一功能的程序都写在一个jsp中,但听说这样做不对,有sql注入的危险,而且这也不是正确的做法,ajax请求的程序一般用severlet,小弟对severlet也不熟。求教大侠们,完成这个功能的ajax请求的后台程序的正确写法

参考技术A 所谓sql注入就是有些数据需要用户输入提交给后端,而后端又是采用拼字符串的形式组成的sql语句,这样很容易被sql注入,这样输入的数据可以把sql中加上一些sql的符号,比如分号 单引号加上sql的and or等符号把你的sql改掉,这是sql注入
所以关键不是使用jsp和使用servlet的区别,是有没有用户提交和后段是否是拼接的字符串
因为是抽奖所以不存在使用用户输入的数据对数据库操作,所以不会有sql注入问题追问

谢谢大侠,但是我感觉我ajax请求jsp不是主流的做法,是不是应该写成servlet才正规,才符合开发模式,主要是我不太知道servlet的用途,我感觉jsp要更简单一点

追答

jsp就是给servlet封装了一下,目的就是方便你写html代码,在servlet里写的html代码都需要使用out。print输出才行,而jsp里你可以直接写,区别仅限这些,对于你的ajax请求,不需要html代码,只需要很简单的json数据就可以,所以使用servlet比较合适,这也是为什么jsp作为展现层,而servlet作为控制层的原因

参考技术B 既然你都已经可以在JSP页面实现功能了,那要放到servlet中去实现应该是很简单的吧,无非就是把JSP页面中处理逻辑的代码搬到一个servlet里面并且把表单参数的传递指向servlet,在从JSP页面接受servlet处理后返回的结果。追问

求教大侠,表单参数,指的是什么

追答

既然你说了摇奖了,那肯定需要有开始摇奖这么一个按钮吧,当用户点击以后就把请求提交到相关的servlet去处理,

本回答被提问者采纳
参考技术C 这个这样不太好说。
首先。在javaweb中jsp与servlet是等价的。只是servlet是比较直观的java类
jsp是在运行时编译成class来运行。

你给出一个邮件吧,然后给你发一下servlet的demo.
你参考一下。

以上是关于求教高手,初学javaweb,有一个关于抽奖后台程序的疑惑的主要内容,如果未能解决你的问题,请参考以下文章

关于双网卡互连问题,求教高手

关于C语言的语法中类型转换的一个问题。求教C语言高手。

求教delphi高手 关于form.modalresult的问题。。。。。。。。。

java问题 ~~求教高手 13) 以下关于异常的说法,错误的是

求教怎么让一个session只存一个用户,判断当前的session是不是有效

初学电脑—— 高手