java 生成验证码 (未测试)
来源:互联网 发布:淘宝如何退换货物 编辑:程序博客网 时间:2024/05/16 23:41
/** * */package com.becom.dkyd.webapp.util;import java.awt.Color;import java.awt.Font;import java.awt.Graphics2D;import java.awt.image.BufferedImage;import java.io.IOException;import java.util.Random;import javax.imageio.ImageIO;import javax.servlet.ServletException;import javax.servlet.ServletOutputStream;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import com.becom.dkyd.common.Constant;public class RandomCodeServlet extends HttpServlet{ /** * serialVersionUID */ private static final long serialVersionUID = 5916019367240722024L; private int width = 60; private int height = 20; @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { BufferedImage img = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics2D g = img.createGraphics(); Random random = new Random(); g.setColor(Color.WHITE); g.fillRect(0, 0, width, height); Font font = new Font("Times New Roman", Font.PLAIN, 18); g.setFont(font); // 边框 g.setColor(Color.BLACK); g.drawRect(0, 0, width - 1, height - 1); // 干扰线 g.setColor(Color.GRAY); for (int i = 0; i < 60; i++) { int x = random.nextInt(width); int y = random.nextInt(height); int x1 = random.nextInt(12); int y1 = random.nextInt(12); g.drawLine(x, y, x + x1, y + y1); } // 保存验证码 StringBuffer randomCode = new StringBuffer(); int red = 0; int green = 0; int blue = 0; // 生成验证码 for (int i = 0; i < 4; i++) { String strRand = String.valueOf(random.nextInt(10)); red = random.nextInt(110); green = random.nextInt(50); blue = random.nextInt(50); g.setColor(new Color(red, green, blue)); g.drawString(strRand, 13 * i + 6, 16); randomCode.append(strRand); } // 验证码放入session中 HttpSession session = req.getSession(); //需要验证的地方 //加入session // 禁止图象缓存 resp.setHeader("Pragma", "no-cache"); resp.setHeader("Cache-Control", "no-cache"); resp.setDateHeader("Expires", 0); resp.setContentType("image/jpeg"); // 输出图象 ServletOutputStream sos = resp.getOutputStream(); ImageIO.write(img, "jpeg", sos); sos.close(); }}
0 0
- java 生成验证码 (未测试)
- 生成验证码的java类(未测试)
- java实现验证码完整版(未测试)
- Java获取随机数生成随机字符串用于验证码等之类的工具 (未测试)
- jsp 生成网页验证码的Servlet(未测试)
- 字符串验证Java工具类(未测试)
- Java 批量随机生成身份证号码(未测试)
- java使用正则提取字符串中的数字(例如提取短信中的验证码)(未测试)
- Java正则表达式验证工具类(未测试)
- java生成验证码
- Java 生成验证码
- Java 验证码生成
- java生成验证码
- java生成验证码
- java生成验证码
- Java生成验证码
- Java生成验证码
- java生成验证码
- 如何给安卓apk瘦身?
- jquery 复选框全选 全不选 反选(未测试)
- Android开发技巧汇总
- js面向对象编程
- Java服务器获取客户端的ip(未测试)
- java 生成验证码 (未测试)
- 145. Binary Tree Postorder Traversal(Tree)
- Java上传图片后的缩放(未测试)
- Spark Transformation —— union
- Flot 在柱状图上显示数字
- 重写spring读取配置文件,读取加密配置文件(未测试)
- 理解OAuth 2.0
- 一个数组内的元素挨个相加得到的值组成一个新数组(算法)
- Ubuntu14.04下GNU Radio的安装以及USRP N210配置