关于我们 广告服务 社区论坛
设为首页 加入收藏

行业新闻
服 务 器
模版下载
建站指南
冲浪宝典
办公软件
网站运营
操作系统
QQ 专题
网页制作
安全防御
视频教程
网络编程
SEO专区
软件下载
图像设计
Cisco
网页特效
Wap 技术
联盟赚钱
网页素材
 首页 | 企业建站 | 网页制作 | 网站运营 | 网络编程 | 图像设计 | 冲浪宝典 | 操作系统 | SEO专区 | 联盟赚钱 | Cisco

欢迎来到e天下网络首页>>网络编程>>JSP>>正文|技巧实例:jsp实现图形验证码

技巧实例:jsp实现图形验证码

[ 来路:21kn.com    时间:2007-7-8 16:16:12    点击: ]

 

  调用方法    
  <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中生成图片缩略图的代码  下一篇:JSP实现图形验证码-汉字

 ::热点信息::

 

= = 免责声明 = =

① 欢迎转载我网所刊信息,请注明“来源:E天下网络”。
② 凡本网注明“来源:XXX(非E天下网络)”的作品,均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如因作品内容、版权和其它问题需要同本网联系的,请在30日内进行。
※联系方式:Airtofly@163.com

::推荐文章::

 

ASP教程:详细学习ASP的内置对象

::图像设计::

 

动态图片搜索家——GIF RUNN
软件搜索利器——FileFerret
实例说明构图要讲规律
Character Builder让你尽展靓
全景图速成者Cool360
三维模型速成工具——Canoma
剪贴专家SmartBoard 32
新世纪的图像处理利器——Ph
更多内容..

 

 

关于我们 广告服务 友情链接 合作伙伴 社区论坛 免责声明

Copyright © 2007   21kn.com Inc. All rights reserved.e天下网络工作室

网站白天客服QQ:26875416 (非24小时)  合作QQ:597004688    粤ICP备06026423号