调用方法
<img src="http://www.31km.cn/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: 实现随机生成一个4位数的验证码,并写入session,
* Copyright: Copyright (c) 2008
* Company: 31公里
* @author rye
* @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生成图片验证码虽然可能不如使用Servlet直接控制HTTP响应那么灵活,但仍然可以实现。这种做法的好处是,可以在不离开JSP页面的情况下完成验证码的生成和输出,简化了开发流程。然而,考虑到性能和代码...
**JSP实现验证码数字图片详解** 验证码是一种常用的安全机制,用于防止自动机器人或者恶意脚本进行非法操作,如批量注册、频繁提交等。在Web开发中,JSP(JavaServer Pages)可以用来创建动态验证码图片。本文将...
`JSP`(JavaServer Pages)是Java的一种动态网页技术,可以用来生成图片验证码。下面我们将详细探讨如何在JSP中创建图片验证码以及验证用户输入的验证码是否正确。 ### 1. 图片验证码的生成原理 图片验证码的基本...
总的来说,Java的`java.awt`包提供了丰富的功能来创建和绘制图片,这使得我们可以方便地实现图片验证码的生成和刷新。结合HTTP协议和服务器端编程,我们可以构建出高效且安全的图片验证码系统,为网站提供有效的防护...
**JSP图形验证码项目**是基于Java Web技术实现的一个安全登录功能模块,主要涉及的技术包括JSP(JavaServer Pages)和图形验证码。在这个项目中,我们重点探讨如何使用JSP来创建用户登录界面,并结合图形验证码来...
* 使用 JSP 生成验证码图片,通过 BufferedImage 和 Graphics 实现验证码图片的生成。 * 将验证码存入 SESSION,以便后续验证。 2. 验证码刷新机制:使用 JavaScript 实现验证码刷新机制,刷新验证码图片。 * ...
在JSP里面实现图片验证代码,用户用户登录或者注册
- 视图解析,可能是JSP或Thymeleaf等,用于展示登录页面和验证码图像。 - 相关的Service和DAO层,用于处理登录逻辑和数据库操作。 通过以上步骤和组件,SSM框架可以成功地实现登录验证码功能,为Web应用提供了一道...
采用ajax技术实现的图形验证码,在前端进行验证。验证码信息为图片。每一行代码均有注释,通俗易懂。 实现步骤: 1、创建web工程 2、在jsp页面,编写一个请求servlet的名称"> 3、编写一个servlet,在servlet中产生...
### JSP代码实现验证码功能详解 #### 一、概述 本文档详细介绍了如何使用Java Server Pages (JSP)技术来实现一个简单的验证码功能。验证码在Web应用中是一种常见的安全措施,用于防止自动化软件进行恶意操作,如...
以上就是使用JSP生成验证码图片的基本原理和实现流程。在实际应用中,还可以结合其他安全措施,比如限制用户尝试次数、使用滑动验证等,进一步提高系统的安全性。同时,随着技术的发展,验证码的形式也在不断进化,...
jsp图片验证码 希望对大家有用 防止机器注册
在Java Web开发中,JSP(JavaServer Pages)常被用来生成这种动态的图片验证码。下面我们将深入探讨如何使用JSP来创建一个简单的图片验证码。 首先,我们需要理解验证码的基本原理。验证码通常由一串随机生成的字母...
以下我们将深入探讨JSP实现随机验证码的技术细节。 ### 1. 验证码的基本原理 验证码的核心在于生成一组难以被机器自动识别的随机字符或数字,然后将它们显示为图像。用户在提交表单前需要正确输入这组字符,服务器...
以上就是基于JSP和Servlet实现简单验证码的基本流程。实际应用中,为了增强安全性,还可以考虑以下几点: - 使用更复杂的图像扭曲算法,增加自动化识别的难度。 - 设置验证码过期时间,防止长时间未使用的验证码被...
本文将深入解析JSP中实现图片验证码的主要技术和步骤。 首先,我们需要理解如何生成一张图片。在Java中,我们可以利用`java.awt`包下的类来实现这一目标。`HelloImage.java`示例代码展示了生成图片的基本流程: 1....
**在JSP中实现验证码详解** 验证码是一种常用的安全机制,用于防止自动机器人或者恶意脚本进行非法操作,如批量注册、频繁提交等。在Web开发中,尤其是在Java Web环境中,我们常常利用Java Servlet和JSP(Java...
【JSP验证码实现详解】 验证码(CAPTCHA)是一种防止机器自动操作的安全机制,它通过让用户输入图片或音频中显示的随机字符来验证用户是否为真实的人。在JSP(JavaServer Pages)中实现验证码,我们可以利用Java的...
在JSP页面的HTTP响应中,我们需要设置正确的Content-Type(通常是"image/jpeg"或"image/png"),然后使用ImageIO.write方法将BufferedImage对象转换为流并写入响应,这样浏览器就能显示这个验证码图片。 另一方面,...