您当前的位置: 首页 > 网站编程 > JSP教程 > jsp实现图形验证码

jsp实现图形验证码

作者:admin 来源:不详 发布时间: 2008-06-04 08:50 点击:
jsp实现图形验证码,原理,在servlet中随机生成一个4位数字1000-9999然后把这数字写入session输出一个图片,上面写有这四个数字 调用方法 imgsrc=http://...../getImg 原理,在servlet中随机生成一个4位数字1000-9999 然后把这数字写入session 输出一个图片,

jsp实现图形验证码

jsp实现图形验证码,原理,在servlet中随机生成一个4位数字1000-9999 然后把这数字写入session输出一个图片,上面写有这四个数字   
调用方法    
  <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(intCount<1000)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;i<4;i++)   {    
     
  c=s.charAt(i);    
     
  gra.drawString(c+"",i*7+4,11);   //7为宽度,11为上下高度位置    
     
  }    
     
  JPEGImageEncoder   encoder=JPEGCodec.createJPEGEncoder(out);    
     
  encoder.encode(image);    
     
  out.close();    
     
  }    
     
  }     
分享到:
本文"jsp实现图形验证码"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4