(1)验证码有啥用
在我们注册时,如果没有验证码的话,我们可以使用URLConnection来写一段代码发出注册请求,甚至可以使用while(true)来注册!那么服务器就废了
验证码可以去识别发出请求是人还是程序!当然聪明的程序可以去分析验证码图片!
(2)一次性验证码图片
设计思路3个页面
AServlet
1.生成验证码 VerifyCode vc = new VerifyCode(); BufferedImageimage = vc.getImage()
2.在session中保存验证码文本 request.getSession.getAttribute(“vCode”,vc.getText());
3.把验证码输出到页面 VerifyCode.output(image,response.getOutputStream);
01.jsp
1.提交表单 表单中包含username 和 code
2.在表单中给出<img>指向AServlet ,用来在页面中显示验证码图片
3.提供“看不清,换一张”链接,指向_change() 函数
4.提交给BServlet
BServlet
1.获取表单中用户名 和 code
2.获取session对象中的vCode
3.判断表单的code和session对象的vCode 是否相同
4.相同说明用户验证码正确,否则验证码错误
代码实现
首先生成验证码 AServlet
登录页面 01.jsp
验证验证码是否正确 BServlet