用html+servlet实现的验证码
来源:互联网 发布:淘宝商品规格怎么填写 编辑:程序博客网 时间:2024/06/16 03:54
servlet简单验证码的实现
@WebServlet(description="annotation",urlPatterns={"/dynamicP"},loadOnStartup=1)
public class DynamicPicture extends HttpServlet {
//首先声明验证码随机出现的字符数组,这里简写。 public static final char[] chars={'1','2','3','4','5','6','7','8','9', 'a','b','c','d','e','f','g','h','i','j','k','A','B','C','D','E' ,'F','G','H','I','J','K','M','N'};
public static Random random = new Random();
public static String getRandomString()//随机产生五个{StringBuilder buffer = new StringBuilder();for(int i = 0;i < 5;i++){buffer.append(chars[random.nextInt(chars.length)]);}return buffer.toString();}
public static Color getRandomColor()//随机颜色,用于背景色{return new Color(random.nextInt(255),random.nextInt(255),random.nextInt(255));}
public static Color getReverseColor(Color c)//返回某种颜色的反色,用于前景色{return new Color(255-c.getRed(),255-c.getGreen(),255-c.getBlue());}
public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
response.setContentType("image/jpeg");String randomString = getRandomString();request.getSession(true).setAttribute("randomString", randomString);//传入session,验证时使用
//开始画图int width=110;int height=40;Color color=getRandomColor();Color reverse=getReverseColor(color);BufferedImage bI = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);Graphics2D g = bI.createGraphics();g.setFont(new Font(Font.SANS_SERIF,Font.BOLD,25));g.setColor(color);g.fillRect(0, 0, width, height);//绘制背景g.setColor(reverse);g.drawString(randomString, 15, 28);for(int i=0,n=random.nextInt(100);i<n;i++)//用来画点{g.drawRect(random.nextInt(width), random.nextInt(height), 1, 1);}//画图结束
ServletOutputStream out = response.getOutputStream();JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);encoder.encode(bI);out.flush();}
public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doGet(request, response);}
}
html部分
<td style="margin-left:9px"><img alt="dynamic picture" src="dynamicP" id="identity" style="margin:auto;"></td>
@WebServlet(description="annotation",urlPatterns={"/dynamicP"},loadOnStartup=1)
public class DynamicPicture extends HttpServlet {
//首先声明验证码随机出现的字符数组,这里简写。 public static final char[] chars={'1','2','3','4','5','6','7','8','9', 'a','b','c','d','e','f','g','h','i','j','k','A','B','C','D','E' ,'F','G','H','I','J','K','M','N'};
public static Random random = new Random();
public static String getRandomString()//随机产生五个{StringBuilder buffer = new StringBuilder();for(int i = 0;i < 5;i++){buffer.append(chars[random.nextInt(chars.length)]);}return buffer.toString();}
public static Color getRandomColor()//随机颜色,用于背景色{return new Color(random.nextInt(255),random.nextInt(255),random.nextInt(255));}
public static Color getReverseColor(Color c)//返回某种颜色的反色,用于前景色{return new Color(255-c.getRed(),255-c.getGreen(),255-c.getBlue());}
public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
response.setContentType("image/jpeg");String randomString = getRandomString();request.getSession(true).setAttribute("randomString", randomString);//传入session,验证时使用
//开始画图int width=110;int height=40;Color color=getRandomColor();Color reverse=getReverseColor(color);BufferedImage bI = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);Graphics2D g = bI.createGraphics();g.setFont(new Font(Font.SANS_SERIF,Font.BOLD,25));g.setColor(color);g.fillRect(0, 0, width, height);//绘制背景g.setColor(reverse);g.drawString(randomString, 15, 28);for(int i=0,n=random.nextInt(100);i<n;i++)//用来画点{g.drawRect(random.nextInt(width), random.nextInt(height), 1, 1);}//画图结束
ServletOutputStream out = response.getOutputStream();JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);encoder.encode(bI);out.flush();}
public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doGet(request, response);}
}
html部分
<td style="margin-left:9px"><img alt="dynamic picture" src="dynamicP" id="identity" style="margin:auto;"></td>
0 0
- 用html+servlet实现的验证码
- 用servlet实现验证码的切换
- servlet验证码的实现
- 验证码的Servlet实现
- 验证码的Servlet实现
- 验证码的Servlet实现
- servlet生成验证码验证的实现
- 用servlet实现验证码
- 验证码的实现方式-------(servlet实现验证码)
- servlet实现验证码
- Servlet实现验证码
- 验证码 servlet实现
- servlet实现验证码
- servlet实现验证码
- servlet实现验证码
- servlet实现验证码
- servlet 实现验证码
- servlet实现验证码
- == 和equeals的区别
- 影像尺寸改變(resize)
- 带括号的四则运算
- Java 抽象类
- Android Studio目录结构及工程项目结构解析
- 用html+servlet实现的验证码
- 二叉树排序
- Tensorflow代码解析(一)
- Caffe源码中layer文件分析
- JPA Criteria Query Examples
- 横向Gridview使用
- kmp杂题1 poj2406 Power Strings
- Linux常用命令思维导图
- 【Android UI设计与开发】9:滑动菜单栏(一)开源项目SlidingMenu的使用和示例