`
EJB_wawa
  • 浏览: 108990 次
  • 性别: 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
}

}

分享到:
评论

相关推荐

    jsp常用经典代码(md5java实现,生成中文/数字验证码,解决中文乱码)

    本主题聚焦于一些关键的jsp编程实践中涉及的知识点,包括`MD5`加密,生成中文/数字验证码以及处理中文乱码问题。 首先,`MD5`是一种广泛使用的加密散列函数,产生一个128位(16字节)的散列值,通常以32个十六进制...

    Java产生验证码实例

    - 使用`javax.servlet.http.HttpSessionBindingListener`接口实现Session监听,当验证码过期或被替换时,自动移除旧的验证码。 - 对于高并发场景,可以考虑使用分布式Session存储,如Redis,以解决单台服务器Session...

    Jsp+Servlet+验证码[文].pdf

    文本验证码是指由随机生成的字符串或数字组成的验证码,而图片验证码则是指使用图像来表示的验证码。Java Servlet 可以生成这两种类型的验证码。 验证码生成算法 验证码生成算法是指生成验证码的算法。 Java ...

    jsp页面中产生验证码

    首先,验证码的生成通常涉及到随机字符的产生和图像的绘制。在JSP中,我们可以使用Java的`java.util.Random`类来生成随机数字和字母,然后结合`java.awt`和`javax.imageio`包中的类来创建图像并写入这些随机字符。`...

    java实现验证码产生功能

    验证码通常由一组随机字符组成,可以是字母、数字或两者混合。在Java中,我们可以使用`java.util.Random`类和`Character`类来生成这些随机字符。首先,定义一个字符串包含所有可能的字符,然后通过随机索引来选取...

    随机生成验证码(JSP)

    1. **随机数字或字母生成**:验证码通常由一组随机的数字或字母组成,以确保每次请求时都会得到不同的验证码。在Java中,我们可以使用`java.util.Random`类生成随机数,再结合字符集来创建随机字符串。 2. **图像...

    采用ajax实现的图片验证码

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

    jsp验证码简单示例

    在网页开发中,尤其是用户登录、注册、评论等场景,验证码能够有效地防止垃圾信息的产生,保护网站的安全。JSP(JavaServer Pages)作为服务器端的动态网页技术,可以方便地实现验证码的生成与验证。以下将详细介绍...

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

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

    图文验证码模块

    这样既提高了用户体验,减少了网络请求的等待时间,又保证了每次验证的独立性,避免了因多人同时使用同一验证码而产生的安全问题。在实现时,需要在JavaScript中发送Ajax请求到服务器,服务器生成新的验证码并返回,...

    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启动...

    开发网上购物中用到的ajax,随机图片的产生等技术的总结

    3. **绘制验证码**:使用Graphics对象在图片上绘制背景色、边框颜色及随机生成的数字。其中数字存储在session中以便后续验证。 4. **输出图片**:通过 `JPEGCodec.createJPEGEncoder(os);` 和 `encoder.encode(image...

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

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

Global site tag (gtag.js) - Google Analytics