Java实现登录验证码验证
来源:互联网 发布:使用端口命令 tcp 编辑:程序博客网 时间:2024/05/01 11:02
<span style="font-size:14px;">package com.visec.mall.vipUser.servlet;import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.util.*; import java.awt.*; import java.awt.image.*; import javax.imageio.*;/*** * 生成验证码 * @author visec、Dana */public class CheckCodeServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public CheckCodeServlet() { super(); } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("image/jpeg"); response.setHeader("Pragma", "No-cache"); response.setHeader("Cache-Control", "no-cache"); response.setDateHeader("Expires", 0); HttpSession session = request.getSession(); //BufferedImage生成验证图片属性 int width = 75, height = 25; BufferedImage image = new BufferedImage(width, height,BufferedImage.TYPE_INT_RGB); //Graphics画图Graphics g = image.getGraphics(); //生成随机数 Random random = new Random(); //设置验证码背景颜色 g.setColor(getRandColor(200, 250)); g.fillRect(0, 0, width, height); //设置字体样式g.setFont(new Font("Times New Roman", Font.PLAIN, 24)); //设置 字体颜色g.setColor(getRandColor(160, 200)); g.drawRect(0, 0, width - 1, height - 1); //产生随机数g.setColor(getRandColor(160, 200)); for (int i = 0; i < 155; i++) { int x = random.nextInt(width); int y = random.nextInt(height); int xl = random.nextInt(12); int yl = random.nextInt(12); g.drawLine(x, y, x + xl, y + yl); } String sRand = ""; for (int i = 0; i < 4; i++) { String rand = String.valueOf(random.nextInt(10)); sRand += rand; g.setColor(new Color(20 + random.nextInt(110), 20 + random .nextInt(110), 20 + random.nextInt(110))); g.drawString(rand, 13 * i + 14, 20); } //设置Sessionsession.setAttribute("checkCode", sRand); //释放资源 g.dispose(); //生成图片ImageIO.write(image, "JPEG", response.getOutputStream()); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse * response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub } Color getRandColor(int fc, int bc) {Random random = new Random(); if (fc > 255) fc = 255; if (bc > 255) bc = 255; int r = fc + random.nextInt(bc - fc); int g = fc + random.nextInt(bc - fc); int b = fc + random.nextInt(bc - fc); return new Color(r, g, b); } }</span>
0 0
- Java实现登录验证码验证
- java实现登录验证码
- 登录验证码实现
- java jsp实现登录验证码
- JAVA验证码登录实现类
- java 登录验证码实现类
- java登录验证码实现代码
- java登录验证码实现代码
- java登录验证码实现代码
- java实现简单的登录验证码
- Java实现登录界面的验证码
- 登录验证码JAVA代码实现
- java验证码登录
- java动态实现登录验证
- JavaWeb 实现验证码验证登录
- .net登录页面实现验证码验证
- Java实现在登录时验证验证码并在登录后记住用户名
- C#实现登录验证码
- android 百科
- 算法(全排列算法封装)
- WindowManager创建创建悬浮窗
- java Date类型:24小时制和12小时制
- 支付宝退款服务热线电话是多少【官网认证】
- Java实现登录验证码验证
- 选择排序
- iOS 中十六进制字符串转化为UIColor
- window杀进程命令
- sigmoid函数解析与应用
- 支付宝官方服务电话是多少【官网认证】
- 第十六州项目一数组排列
- nyoj94cigarettes(数学题)
- windows 服务