实现验证码
来源:互联网 发布:淘宝淘词助手官网 编辑:程序博客网 时间:2024/06/02 03:44
前端验证码发送servlet请求代码:
<img src="checkCode" alt="" id="codeImg"style="width: 80px; height: 30px; border: 1px solid black;" /> <a href="javascript:;" onclick="document.getElementById('codeImg').src = 'checkCode?'+(new Date()).getTime()">换一张</a><span id="codemsg" style="color: red; font-size: 20px;"></span>
后台处理,并返回给前端处理结果
import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.image.BufferedImage;import java.io.IOException;import java.io.OutputStream;import java.util.Random;import javax.imageio.ImageIO;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * Servlet implementation class checkservlet */@WebServlet("/checkCode")public class checkservlet extends HttpServlet { @Overrideprotected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String codes="abcdefghijklmnopqrstuvwxyzABCDEFJHIJKLMNOPQRSTUVWXYZ0123456789";BufferedImage img=new BufferedImage(80,30,BufferedImage.TYPE_3BYTE_BGR);Graphics g=img.getGraphics();//填充图片g.setColor(new Color(255,255,255));g.fillRect(0, 0, 80, 30);//画入五个随机数Random rm=new Random();StringBuffer sb=new StringBuffer();for(int i=0;i<5;i++){int index=rm.nextInt(codes.length());char code=codes.charAt(index);g.setColor(new Color(rm.nextInt(256),rm.nextInt(256),rm.nextInt(256)));g.setFont(new Font("宋体", Font.BOLD, 25));g.drawString(code+"", 2+15*i, 22);sb.append(code);}//画干扰线for(int i=0;i<10;i++){g.setColor(new Color(rm.nextInt(256),rm.nextInt(256),rm.nextInt(256)));g.drawLine(rm.nextInt(100), rm.nextInt(50), rm.nextInt(100), rm.nextInt(50));}//将验证码图片回写给浏览器response.setContentType("image/jpeg;charset=utf-8");OutputStream out=response.getOutputStream();ImageIO.write(img, "jpeg", out);//将随机字符串保存在session中request.getSession().setAttribute("code", sb.toString());}}
阅读全文
0 0
- “验证码”的实现
- JSP实现验证码
- 实现验证码
- C#实现验证码
- jsp验证码实现
- servlet实现验证码
- 彩色验证码实现
- php实现验证码
- java 实现验证码
- 验证码的实现
- PHP实现验证码
- PHP实现验证码
- JS实现验证码
- 验证码的实现
- Servlet实现验证码
- 实现 验证码
- JSP实现验证码
- JS实现验证码
- 网易编程题(二)
- 微信小程序----组件之slider
- useDelimiter指定多个分隔符
- 关于Linux下安装Oracle时报错:out of memory的问题分析说明
- 算法 第四版 1.4.20 双调查找
- 实现验证码
- 一篇发表于CVPR的去雨论文
- vue开发app项目实例
- iOS之键路径keyPath
- 奋斗群群赛5总结与心得
- python中的__dict__,__getattr__,__setattr__
- spark提交java程序异常
- BZOJ 4025: 二分图 并查集判二分图 CDQ分治
- 反射--认识Class类