zoukankan      html  css  js  c++  java
  • Response生成注册验证码实现例子

    1,Response 发送注册验证图片实现代码:ResponseDrawPic.java

    import java.awt.Color;  
    import java.awt.Font;  
    import java.awt.Graphics;  
    import java.awt.image.BufferedImage;  
    import java.io.IOException;  
    import java.util.Random;  
      
      
    import javax.imageio.ImageIO;  
    import javax.servlet.ServletException;  
    import javax.servlet.http.HttpServlet;  
    import javax.servlet.http.HttpServletRequest;  
    import javax.servlet.http.HttpServletResponse;  
    @SuppressWarnings("serial")  
    public class ResponseDrawPic extends HttpServlet {  
      
        public void doGet(HttpServletRequest request, HttpServletResponse response)  
                throws ServletException, IOException {  
                //设置头,控制浏览器不要缓存文件  
                    response.setHeader("Expries", "-1");  
                    response.setHeader("Cache-Control", "no-cache");  
                    response.setHeader("progma", "no-cache");  
                //5,通知浏览器以图片方式打开      
                response.setHeader("Content-type", "image/jpeg");  
                //1,在内存中创建一副图片  
                    BufferedImage image = new BufferedImage(80, 20, BufferedImage.TYPE_INT_RGB);  
                //2,得到图片  
                    Graphics g = image.getGraphics();  
                    g.setColor(Color.WHITE);  
                    g.fillRect(0, 0, 80, 20);  
                //3,向图片上写数据  
                    g.setColor(Color.BLUE);  
                    g.setFont(new Font(null, Font.BOLD,20));  
                    g.drawString(makeNum(), 0, 20);  
                //4,将图片写给浏览器  
                    ImageIO.write(image, "jpg", response.getOutputStream());  
                  
        }  
          
        private String makeNum() {  
            Random r= new Random();  
            String num=r.nextInt(9999999)+"";  
            StringBuffer sb =new StringBuffer();  
            for(int i=0;i<7-num.length();i++){//不足7位数的时候补足0  
                sb.append("0");  
            }  
            num=sb.toString()+num;  
            return num;  
        }  
      
        public void doPost(HttpServletRequest request, HttpServletResponse response)  
                throws ServletException, IOException {  
                doGet(request, response);  
        }  
      
    }  

    2,简单注册页面register.html 

    <form action="">  
            用户名:<input type="text" name="username"></br>  
            密     码:<input type="password" name="password"></br>  
            认证码:<input type="text" name="checkcode"><img src="/MyWebStart/servlet/ResponseDrawPic"></br>  
            <input type="submit" value="注册">  
    </form> 
  • 相关阅读:
    将Mat类型坐标数据生成pts文件
    DelaunayTriangulation_VoronoiDiagram_using_OpenCV的实现
    安装python第三方库
    安装wordcloud第三方库Unable to find vcvarsall.bat
    Vec3b类型数据确定颜色通道
    使用Inno Setup Compiler制作安装软件包
    QT-This application failed to start because it could not find or load the Qt platform plugin "windows"
    m函数与m文件的命名
    当前目录如何打开cmd
    [Machine Learning & Algorithm] 随机森林(Random Forest)-转载
  • 原文地址:https://www.cnblogs.com/lichone2010/p/3127887.html
Copyright © 2011-2022 走看看