首页 > 代码库 > Session应用之验证码
Session应用之验证码
1 package com.aeolia.view; 2 3 import java.awt.Color; 4 import java.awt.Font; 5 import java.awt.image.BufferedImage; 6 import java.io.IOException; 7 import javax.imageio.ImageIO; 8 import javax.servlet.ServletException; 9 import javax.servlet.http.HttpServlet;10 import javax.servlet.http.HttpServletRequest;11 import javax.servlet.http.HttpServletResponse;12 13 public class CheckCode extends HttpServlet {14 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {15 16 //禁止浏览器缓存随即图片17 response.setDateHeader("Expires", -1);18 response.setHeader("Cache-Control", "no-cache");19 response.setHeader("Pragma", "no-cahce");20 //通知客户机以图片方式打开发送过去的数据21 response.setHeader("Content-Type","image/jpeg");22 //在内存中创建一幅图片23 java.awt.image.BufferedImage image=new BufferedImage(80,30,BufferedImage.TYPE_INT_RGB);24 //向图片上写数据25 java.awt.Graphics g=image.getGraphics();26 //设置背景色27 g.setColor(Color.white);28 //设置矩形框29 g.fillRect(0,0,80,30);30 //设置背景色写入数据的字体和颜色31 g.setColor(Color.red);32 g.setFont(new Font(null,Font.BOLD,20));33 //向图片上写数据34 String nums=makeNums();35 request.getSession().setAttribute("checkcode", nums);36 g.drawString(nums, 0,20);37 //把写好的数据的图片输出给浏览器38 ImageIO.write(image, "jpg", response.getOutputStream());39 }40 private String makeNums() {41 java.util.Random r=new java.util.Random();42 String nums=r.nextInt(9999)+"";43 StringBuffer sb=new StringBuffer(nums);44 for(int i=0;i<4-nums.length();i++){45 sb.append("0");46 }47 return sb.toString();48 }49 public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {50 51 this.doGet(request, response);52 }53 }
Session应用之验证码
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。