response验证码实现

 

 

 

 

public class ImageServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setHeader("refresh","3");
        BufferedImage image=new BufferedImage(80,20,BufferedImage.TYPE_INT_RGB);
        Graphics2D g = (Graphics2D) image.getGraphics();
        g.setColor(Color.WHITE);
        g.fillRect(0,0,80,20);
        g.setColor(Color.BLUE);
        g.setFont(new Font(null,Font.BOLD,20));
        g.drawString(makeNum(),0,20);
        resp.setContentType("image/jpeg");
        resp.setDateHeader("expires",-1);;
        resp.setHeader("Cache-Control","no-cache");
        resp.setHeader("pragma","no-cache");
        ImageIO.write(image ,"jpg",resp.getOutputStream());
    }
    private  String makeNum(){
        Random random=new Random();
        String num= random.nextInt(9999999)+"";
        StringBuffer sb=new StringBuffer();
        for (int i = 0; i <7-num.length() ; i++) {
            sb.append("0");
        }
        num=num+sb.toString();
        return  num;
    }
}

 

posted on 2023-01-13 12:13  大风吹过12138  阅读(20)  评论(0)    收藏  举报

导航