容器servlet
public class CheckCodeServlet extends HttpServlet { private static final long serialVersionUID = -2377809954841166880L; private int height = 25; private int width = 100; public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { /** * 画出验证码图片 */ //1.创建画布 BufferedImage image = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB); //2.获得画笔 Graphics g = image.getGraphics(); //3.为画笔设置随机颜色 Random r = new Random(); g.setColor(new Color(r.nextInt(255),r.nextInt(255),r.nextInt(255))); //4.设置背景色 g.fillRect(0, 0, width, height); //5.为画笔重设颜色用来写字符串 g.setColor(new Color(0,0,0)); g.setFont(new Font(null,Font.BOLD,20)); //调用方法生成一个验证码(长度为5随机从A~Z 0-9选取 String str = new RandomStr().randomStr(); //画出验证码 g.drawString(str, 10, 22); //画出干扰线 for(int i=0;i<=6;i++){ g.drawLine(r.nextInt(width), r.nextInt(height), r.nextInt(width), r.nextInt(height)); } /** * 输出 */ //设置消息头告诉浏览器输出的为一个图片 response.setContentType("image/jpeg"); //或得一个字节输出流 OutputStream ops = response.getOutputStream(); //将图片压缩输出 javax.imageio.ImageIO.write(image, "jpeg", ops); ops.close(); /** * 将验证码转发通过session转发给login页面(其他页面也可以接收使用) */ HttpSession session = request.getSession(); session.setAttribute("checkcode", str); } //内部类 存放生成随机字符串的方法 class RandomStr{ Random r = new Random(); private String randomStr(){ String str = ""; for(int i=0;i<6;i++){ Character c = (char)f(r.nextInt(2)); str = str + c.toString(); } return str; } private int f(int x){ switch(x){ case 0: return 48+r.nextInt(10); case 1: return 65+r.nextInt(26); default: return 55; } } } }
jsp页面
<img src="checkcode" id="img" onclick="this.src='checkcode?'+Math.random;"/> <a href="javascript:;" onclick="document.getElementById('img').src='checkcode?'+Math.random();">换一张</a>
相关推荐
java web笔记之servlet生成验证码java web笔记之servlet生成验证码
servlet生成验证码图片
使用Servlet生成验证码图片。 一个生成验证码图片的工具类。
正在学习Java,在教程书和网上不断的学习。servlet 提供了 Java 强大的 web 交互,在这个小项目中,我用servlet 实现了在web上生成验证码的功能,正在入门Java的同学不妨试试。
通过servlet生成验证码的小工具类,使用时在web.xml里面配置,页面上引用时利用img标签引用这个servlet就可以实现验证码实例: <img src="checkCode.do" id="img" height="30px"></a> 实现点击图片时更换验证码
通过Servlet生成图片验证码,提供给jsp页面展示,并验证。
韩顺平Servlet中用到的生成验证码源码
这是一个完整的功能,实现了动态生成验证码及验证填入信息是否正确的功能,是入门者非常不错的参考资料,是我在课堂上演示的代码。
jsp+servlet动态生成验证码,点击换一份张时改变,供初学者借鉴
登陆验证+servlet动态生成图片验证码
主要介绍了Javaweb开发中通过Servlet生成验证码图片的相关资料,需要的朋友可以参考下
Servlet随即产生验证码,在页面显示。通过Servlet验证。简单实用。
NULL 博文链接:https://yangweixu.iteye.com/blog/1973432
Servlet动态生成验证码,运行Tomcat在浏览器输入地址即可。