国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JSP > 正文

jsp實現圖形驗證碼

2019-11-18 16:42:06
字體:
來源:轉載
供稿:網友
  調用方法    
  <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
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 保定市| 扎囊县| 澜沧| 肥乡县| 德昌县| 龙岩市| 枣强县| 邢台县| 区。| 罗平县| 陆河县| 东乡| 泰安市| 堆龙德庆县| 湘阴县| 潞城市| 和林格尔县| 余姚市| 太湖县| 博客| 沙洋县| 和静县| 福鼎市| 商水县| 治多县| 平山县| 乌拉特后旗| 化州市| 南部县| 始兴县| 渑池县| 怀宁县| 麻江县| 丹棱县| 准格尔旗| 河北区| 娱乐| 丹阳市| 武夷山市| 彰武县| 甘德县|