`
EJB_wawa
  • 浏览: 107093 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

servlet产生数字验证码

    博客分类:
  • web
阅读更多
servlet产生数字验证码

package com.sun.test;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
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.*;    
public class getImg extends HttpServlet {
private    Font    mFont=new    Font("宋体",    Font.PLAIN,12);//设置字体  
/**
   * Constructor of the object.
   */
public getImg() {
   super();
}

/**
   * Destruction of the servlet. <br>
   */
public void destroy() {
   super.destroy(); // Just puts "destroy" string in log
   // Put your code here
}

public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
   response.setContentType("text/html");
   //PrintWriter out = response.getWriter();
    //取得一个1000-9999的随机数    
     String    s="";         
     int    intCount=0;          
     intCount=(new    Random()).nextInt(9999);//返回一个伪随机数,它是从此随机数生成器的序列中取出的、在 0(包括)和9999(不包括)之间均匀分布的 int值。          
     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();    
     }
 
public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
   doGet(request,response);    
 
}
public void init() throws ServletException {
   // Put your code here
}

}

分享到:
评论

相关推荐

    随机验证码(可刷新)

    java 产生随机验证码,servlet实现 点击图片可自动刷新验证码。 支持字母(可分大小写),数字

    Servlet图片验证码

    所谓验证码,就是将一串随机产生的数字或符号,生成一幅图片,图片里加上一些干扰象素(防止OCR),由用户肉眼识别其中的验证码信息,输入表单提交网站验证,验证成功后才能使用某项功能。

    采用ajax实现的图片验证码

    3、编写一个servlet,在servlet中产生图形验证码 ------------------------------------------------------------ //1、给客户端作出的回应是以图片的方式来回应 response.setContentType("image/jpeg"); ...

    自定义验证码,登录后进行验证

    产生随机的颜色分量来构造颜色值,这样输出的每位数字的颜色值都将不同。 随机产生40条干扰线,使图象中的认证码不易被其它程序探测到 随机产生的颜色将验证码绘制到图像中 四位数字的验证码保存到Session中 将图像...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    5.1 servlet与servlet容器 182 5.2 servlet容器的分类 183 5.3 servlet和其他技术的比较 183 5.4 tomcat介绍 183 5.5 tomcat的安装与配置 184 5.5.1 安装tomcat 185 5.5.2 运行tomcat 186 5.5.3 tomcat启动...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    5.1 servlet与servlet容器 182 5.2 servlet容器的分类 183 5.3 servlet和其他技术的比较 183 5.4 tomcat介绍 183 5.5 tomcat的安装与配置 184 5.5.1 安装tomcat 185 5.5.2 运行tomcat 186 5.5.3 tomcat启动...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    5.1 servlet与servlet容器 182 5.2 servlet容器的分类 183 5.3 servlet和其他技术的比较 183 5.4 tomcat介绍 183 5.5 tomcat的安装与配置 184 5.5.1 安装tomcat 185 5.5.2 运行tomcat 186 5.5.3 tomcat启动...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    5.1 servlet与servlet容器 182 5.2 servlet容器的分类 183 5.3 servlet和其他技术的比较 183 5.4 tomcat介绍 183 5.5 tomcat的安装与配置 184 5.5.1 安装tomcat 185 5.5.2 运行tomcat 186 5.5.3 tomcat启动...

    JAVA上百实例源码以及开源项目源代码

     关于数字签名:产生RSA密钥对(myKeyPair),得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),用公钥...

    JAVA上百实例源码以及开源项目

     关于数字签名:产生RSA密钥对(myKeyPair),得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),用公钥...

Global site tag (gtag.js) - Google Analytics