资源简介
JavaWeb项目生成随机验证码,使用IDEA开发,可以导入到Eclipse和MyEclipse中
代码片段和文件信息
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;
import javax.servlet.http.HttpSession;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.util.Random;
/**
* Created by HE on 2016/9/18.
*/
@WebServlet(name = “AuthCode“)
public class AuthCode extends HttpServlet {
private static final int WIDTH = 60;//设置验证码图片宽度
private static final int HEIGHT = 20;//设置验证码图片高度
private static final int LENGTH = 4;//设置验证码长度
//设置验证码随机出现的字符
private static final String str = “1234567890“ +
“abcdefghijklmnopqrstuvwxyz“ +
“ABCDEFGHIJKLMNOPQRSTUVWXYZ“;
char[] chars = str.toCharArray();//将字符放在数组中方便随机读取
private static Random random = new Random();
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.setHeader(“expires“ “0“);
BufferedImage image = new BufferedImage(WIDTH HEIGHT BufferedImage.TYPE_3BYTE_BGR);
//画笔
Graphics graphics = image.getGraphics();
//设置背景颜色并绘制矩形背景
graphics.setColor(Color.WHITE);
graphics.fillRect(0 0 WIDTH HEIGHT);
//用于记录生成的验证码
String code = null;
//生成验证码并绘制
for (int i = 0; i < LENGTH; i++) {
String c = ““ + chars[random.nextInt(str.length())];
graphics.setColor(getColor());
graphics.drawString(c 10 * i + 10 18);
code += c;
}
//生成干扰点
for (int i = 0; i < 50; i++) {
graphics.setColor(getColor());
graphics.drawOval(random.nextInt(60) random.nextInt(20) 1 1);
}
//将生成的验证码存入session中,以便进行校验
HttpSession session = request.getSession();
session.setAttribute(“code“ code);
//绘制图片
graphics.dispose();
//将图片输出到response中
ImageIO.write(image “JPEG“ response.getOutputStream());
}
//随机生成颜色
private Color getColor() {
return new Color(random.nextInt(255) random.nextInt(255) random.nextInt(255));
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2016-09-18 20:17 AuthCode\
文件 335 2016-09-18 20:17 AuthCode\.classpath
目录 0 2016-09-18 20:17 AuthCode\.idea\
目录 0 2016-09-18 18:56 AuthCode\.idea\artifacts\
文件 507 2016-09-18 18:56 AuthCode\.idea\artifacts\AuthCode_war_exploded.xm
文件 686 2016-09-18 18:56 AuthCode\.idea\compiler.xm
目录 0 2016-09-18 18:56 AuthCode\.idea\copyright\
文件 76 2016-09-18 18:56 AuthCode\.idea\copyright\profiles_settings.xm
文件 159 2016-09-18 18:56 AuthCode\.idea\encodings.xm
文件 1161 2016-09-18 20:01 AuthCode\.idea\misc.xm
文件 256 2016-09-18 18:56 AuthCode\.idea\modules.xm
文件 53844 2016-09-18 20:17 AuthCode\.idea\workspace.xm
文件 346 2016-09-18 20:17 AuthCode\.project
文件 385 2016-09-18 20:17 AuthCode\AuthCode.eml
文件 917 2016-09-18 18:56 AuthCode\AuthCode.iml
文件 66 2016-09-18 20:17 AuthCode\AuthCode.userlibraries
目录 0 2016-09-18 19:23 AuthCode\out\
目录 0 2016-09-18 18:59 AuthCode\out\artifacts\
目录 0 2016-09-18 20:02 AuthCode\out\artifacts\AuthCode_war_exploded\
目录 0 2016-09-18 19:32 AuthCode\out\artifacts\AuthCode_war_exploded\img\
文件 2123 2016-09-18 19:32 AuthCode\out\artifacts\AuthCode_war_exploded\img\g.png
文件 1566 2016-09-18 19:32 AuthCode\out\artifacts\AuthCode_war_exploded\img\h.png
文件 551 2016-09-18 20:02 AuthCode\out\artifacts\AuthCode_war_exploded\index.jsp
目录 0 2016-09-18 19:34 AuthCode\out\artifacts\AuthCode_war_exploded\WEB-INF\
目录 0 2016-09-18 20:09 AuthCode\out\artifacts\AuthCode_war_exploded\WEB-INF\classes\
文件 3181 2016-09-18 20:09 AuthCode\out\artifacts\AuthCode_war_exploded\WEB-INF\classes\AuthCode.class
文件 812 2016-09-18 19:34 AuthCode\out\artifacts\AuthCode_war_exploded\WEB-INF\classes\Servlet.class
文件 559 2016-09-18 19:34 AuthCode\out\artifacts\AuthCode_war_exploded\WEB-INF\web.xm
目录 0 2016-09-18 19:23 AuthCode\out\production\
目录 0 2016-09-18 20:09 AuthCode\out\production\AuthCode\
文件 3181 2016-09-18 20:09 AuthCode\out\production\AuthCode\AuthCode.class
............此处省略11个文件信息
- 上一篇:余弦相似性获取文章相似度的java实现
- 下一篇:java编写的音像店管理系统
相关资源
- Android获取短信验证码倒计时按钮
- java实现手机验证码
- jcaptcha-2.0-alpha-1 相关jar
- Oppo Vivo Color OS 打开开发者选项,绕过
- c#调用次世代AntiVC.dll 完整 复杂验证码
- 谷歌kaptcha.2.3.2.jar
- java图形拖拽验证码 滑动式验证 直
- Java调用腾讯云接口发送短信验证码项
- java发送注册短信验证码demo
-
Java ap
plet中绘制中文验证码 - Java 中文验证码
-
Java ap
plet中绘制带干扰线的验证码 -
Java ap
plet中绘制图片验证码 - Java 图片验证码
- Android 汉字验证码(验证码合集-20_1
- Android 汉字转拼音验证码(验证码合集
- Android 成语验证码(验证码合集-20_1
- Java 带干扰线的验证码
- 验证码,Struts2上传与
- android 随机验证码 源码
- android获取手机验证码
- jsp实现登陆操作(带验证码)
- Java 发送邮箱jar包
- JSP验证码+js验证
- java发送手机短信验证码
- Java图片验证码工具类
- java获得手机验证码
- 纯Java验证码工具类
- Java 图像识别
- jsp实现验证码
评论
共有 条评论