在诸如用户登陆时,经常要用到验证码,这里可以用Servlet来处理
1. 编写生成验证码的Servlet: CheckCode.java
package com.shopping.controller.util;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;
/**
*
* @author Administrator
* ==========================产生验证码============================
*/
public class CheckCode extends javax.servlet.http.HttpServlet implements
javax.servlet.Servlet {
private static final long serialVersionUID = -4545744597784634421L;
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// 设置响应类型为图片 , (以前是text/html)
response.setContentType("image/jpeg");
// 产生四位随机验证码
StringBuffer sb = new StringBuffer(4);
for (int i = 0; i < 4; i++) {
int n = (int) (Math.random() * 10);
sb.append(n);
}
String validateCode = sb.toString();
// 将验证码记录在session中,便于用户输入之后的验证
request.getSession().setAttribute("checkcode", validateCode);
// 创建缓存图片
BufferedImage image = new BufferedImage(80, 25,
BufferedImage.TYPE_INT_RGB);
Graphics g = image.getGraphics();
g.setColor(Color.LIGHT_GRAY);
g.fillRect(0, 0, 80, 25);
g.setColor(Color.BLACK);
g.drawString(validateCode, 10, 20);
g.dispose();
ServletOutputStream outStream = response.getOutputStream();
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(outStream);
encoder.encode(image);
outStream.close();
}
}
2.配置web.xml文件
<!-------------------------------------------------------------------------------------------------------->
<!-- 配置验证码 -->
<servlet>
<servlet-name>CheckCode</servlet-name>
<servlet-class>com.shopping.controller.util.CheckCode</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>CheckCode</servlet-name>
<url-pattern>/checkcode</url-pattern>
</servlet-mapping>
3. 在jsp页面中使用验证码(访问该servlet)
<!-------------------------------------------------------------------------------------------------------->
<tr>
<td>验证码:</td>
<td><input type="text" name="checkcode" id="checkcode" /></td>
<td><img src="<%=request.getContextPath()%>/checkcode" border="0" /></td>
</tr>
分享到:
相关推荐
jsp中文验证码,能实现中文字的验证码,非常不错。
jsp验证码,jsp中文验证码,数字验证码,汉字验证码
JSP 中文验证码 实现方法 JSP 中文验证码 实现方法
jsp 中文验证码 源码 可以在指定的文字范围内
JSP中文验证码(源码),欢迎大家分享,评论,下载。
用jsp随机生成中文验证码,验证码背景颜色 、各文字大小、文字颜色随机变化,还在随机干扰线条。增加识别难度。
jsp验证码代码jsp验证码代码jsp验证码代码jsp验证码代码jsp验证码代码jsp验证码代码jsp验证码代码jsp验证码代码jsp验证码代码jsp验证码代码jsp验证码代码jsp验证码代码jsp验证码代码
NULL 博文链接:https://essay.iteye.com/blog/342088
由中文作为验证码存在于JSP页面中,将会存在JSP中文乱码的现象,文章介绍如何调用JSP验证码和使用的方法,以及如何解决JSP中文验证码乱码问题和其他JAVA验证码的实现
验证码的实现.验证码的实现.验证码的实现.验证码的实现
这是一个关于数字做的jsp验证码,有不足的地方希望楼上的朋友给点意见!我想我会做的更好的!
JSP彩色验证码的实现JSP彩色验证码的实现JSP彩色验证码的实现JSP彩色验证码的实现
JSP数字验证码 JSP数字验证码 JSP数字验证码 JSP数字验证码 JSP数字验证码
通过随机获取验证码,然后输出,在主网页上!
经典JSP生成验证码经典JSP生成验证码经典JSP生成验证码经典JSP生成验证码经典JSP生成验证码经典JSP生成验证码经典JSP生成验证码
jsp图形验证码源码,实现系统自动生成图片验证,输出随机验证码图片流,并返回验证码值,生成指定验证码图像文件。
JSP中彩色验证码 注册验证码 中文验证码 图片验证码的生成
JSP验证码大全之中文验证码(源码),很好的jsp学习源码验证示例!
jsp servlet 验证码 jsp servlet 验证码 jsp servlet 验证码
JSP 验证码 字母 数字JSP 验证码 字母 数字JSP 验证码 字母 数字JSP 验证码 字母 数字JSP 验证码 字母 数字