WEB开发网
开发学院WEB开发Jsp jsp实现图形验证码 阅读

jsp实现图形验证码

 2007-01-26 16:38:40 来源:WEB开发网   
核心提示: 调用方法 <img src="http://...../getImg"> 原理,在servlet中随机生成一个4位数字1000-9999 然后把这数字写入session 输出一个图片,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(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();  
  
  }  
  
  }  
http://blog.csdn.net/lixiaolong_blog/archive/2007/01/25/1493417.aspx

Tags:jsp 实现 图形

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接