jsp实现图形验证码

guofwnnmv

guofwnnmv

2016-02-19 16:31

每个人都希望每天都是开心的,不要因为一些琐事扰乱了心情还,闲暇的时间怎么打发,关注图老师可以让你学习更多的好东西,下面为大家推荐jsp实现图形验证码,赶紧看过来吧!
  调用方法    
    img   src="http://...../getImg"    
     
    原理,在servlet中随机生成一个4位数字1000-9999    
    然后把这数字写入session    
    输出一个图片,上面写有这四个数字    
    在服务器端根据用户输入的数字和    
    session中的值比较。    
     
     
    package   com.schoolwx.util;    
    import   java.io.*;    
    import   java.util.*;    
    import   com.sun.image.codec.jpeg.*;    
    import   javax.servlet.*;    
    import   javax.servlet.http.*;    
    import   java.awt.*;    
    import   java.awt.image.*;    
     
     
    /**    
    *   Title:   getImg.java    
    *   Description:   这个class主要实现随机生成一个4位数的验证码,并写入session,    
    *   Copyright:   Copyright   (c)   2003    
    *   Company:   蓝星软件    
    *   @author   falcon    
    *   @version   1.1    
    */    
     
     
    public   class   getImg   extends   HttpServlet   {    
     
    private   Font   mFont=new   Font("宋体",   Font.PLAIN,12);//设置字体    
    //处理post    
    public   void   doPost(HttpServletRequest   request,HttpServletResponse   response)    
    throws   ServletException,IOException   {    
     
    doGet(request,response);    
    }    
    public   void   doGet(HttpServletRequest   request,HttpServletResponse   response)    
    throws   ServletException,IOException   {    
    //取得一个1000-9999的随机数    
    String   s="";    
     
    int   intCount=0;    
     
    intCount=(new   Random()).nextInt(9999);//    
     
    if(intCount1000)intCount+=1000;    
     
    s=intCount+"";    
     
     
    //对session付值。    
     
    HttpSession   session=request.getSession   (true);    
     
    session.setAttribute("getImg",s);    
     
    response.setContentType("image/gif");    
     
    ServletOutputStream   out=response.getOutputStream();    
     
    BufferedImage   image=new   BufferedImage(35,14,BufferedImage.TYPE_INT_RGB);    
     
    Graphics   gra=image.getGraphics();    
    //设置背景色    
    gra.setColor(Color.yellow);    
     
    gra.fillRect(1,1,33,12);    
    //设置字体色    
    gra.setColor(Color.black);    
     
    gra.setFont(mFont);    
    //输出数字    
    char   c;    
     
    for(int   i=0;i4;i++)   {    
     
    c=s.charAt(i);    
     
    gra.drawString(c+"",i*7+4,11);   //7为宽度,11为上下高度位置    
     
    }    
     
    JPEGImageEncoder   encoder=JPEGCodec.createJPEGEncoder(out);    
     
    encoder.encode(image);    
     
    out.close();    
     
    }    
     
    }    
  http://blog.csdn.net/lixiaolong_blog/archive/2007/01/25/1493417.aspx
展开更多 50%)
分享

猜你喜欢

jsp实现图形验证码

Web开发
jsp实现图形验证码

JSP了图形验证码-汉字

Web开发
JSP了图形验证码-汉字

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

JSP彩色验证码

Java JAVA基础
JSP彩色验证码

JSP验证码代码

Web开发
JSP验证码代码

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

jsp 生成验证码代码

Web开发
jsp 生成验证码代码

Jsp常用技巧:图片验证码

Web开发
Jsp常用技巧:图片验证码

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

为VB窗口增添平铺贴图背景

为VB窗口增添平铺贴图背景

Windows8升级Win8.1 Update的便捷攻略

Windows8升级Win8.1 Update的便捷攻略
下拉加载更多内容 ↓