Java动态验证码

Java动态验证码

ID:40556972

大小:46.00 KB

页数:7页

时间:2019-08-04

Java动态验证码_第1页
Java动态验证码_第2页
Java动态验证码_第3页
Java动态验证码_第4页
Java动态验证码_第5页
资源描述:

《Java动态验证码》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实现的思路:首先,需要创建一个Servlet。该Servlet通过字节型响应给客户端返回一个图片,该图片是通过JDK中Java2D的类库来生成一个图片。图片的生成是依靠一个随机数来完成,然后将这个随机数写成图片格式。最后在Session将这个随机的字符串的状态保持住,以便在用户填写后进行对比。其次,在需要加入验证码的JSP页面中,通过引入该图片。最后,单用户填写完验证码后,提交到某一个Servlet中。在这个Servlet中,通过request.getParameter()方法获取用户添

2、加的验证码,然后取出后与Session中生成的验证码进行对比,如果对比成功就表示通过,否则返回该页面给用户提示验证码错误的信息。参考代码:1、用来生成验证码图片的Servlet:packagecom.bluedot.common;importjava.awt.Color;importjava.awt.Font;importjava.awt.Graphics2D;importjava.awt.image.BufferedImage;importjava.util.Random;importjavax.imageio.ImageIO;i

3、mportjavax.servlet.ServletException;importjavax.servlet.ServletOutputStream;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjavax.servlet.http.HttpSession;publicclassValidateCodeServlet

4、extendsHttpServlet{//验证码图片的宽度。privateintwidth=60;//验证码图片的高度。privateintheight=20;//验证码字符个数privateintcodeCount=4;privateintx=0;//字体高度privateintfontHeight;privateintcodeY;char[]codeSequence={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','

5、U','V','W','X','Y','Z','0','1','2','3','4','5','6','7','8','9'};/***初始化验证图片属性*/publicvoidinit()throwsServletException{//从web.xml中获取初始信息//宽度StringstrWidth=this.getInitParameter("width");//高度StringstrHeight=this.getInitParameter("height");//字符个数StringstrCodeCount=this.ge

6、tInitParameter("codeCount");//将配置的信息转换成数值try{if(strWidth!=null&&strWidth.length()!=0){width=Integer.parseInt(strWidth);}if(strHeight!=null&&strHeight.length()!=0){height=Integer.parseInt(strHeight);}if(strCodeCount!=null&&strCodeCount.length()!=0){codeCount=Integer.par

7、seInt(strCodeCount);}}catch(NumberFormatExceptione){}x=width/(codeCount+1);fontHeight=height-2;codeY=height-4;}protectedvoidservice(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,java.io.IOException{//定义图像bufferBufferedImagebuffImg=newBufferedImag

8、e(width,height,BufferedImage.TYPE_INT_RGB);Graphics2Dg=buffImg.createGraphics();//创建一个随机数生成器类Randomrandom=newRandom()

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。