一.新建image.jsp文件
<%@ page import="java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*"%>
<%@ page import="java.io.OutputStream"%>
<%!Color getRandColor(int fc, int bc) {
Random random = new Random();
if (fc > 255)
fc = 255;
if (bc > 255)
bc = 255;
int r = fc + random.nextInt(bc - fc);
int g = fc + random.nextInt(bc - fc);
int b = fc + random.nextInt(bc - fc);
return new Color(r, g, b);
}%>
<%
try {
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
int width = 60, height = 20;
BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
OutputStream os = response.getOutputStream();
Graphics g = image.getGraphics();
Random random = new Random();
g.setColor(getRandColor(200, 250));
g.fillRect(0, 0, width, height);
g.setFont(new Font("Times New Roman", Font.PLAIN, 18));
g.setColor(getRandColor(160, 200));
for (int i = 0; i < 155; i++) {
int x = random.nextInt(width);
int y = random.nextInt(height);
int xl = random.nextInt(12);
int yl = random.nextInt(12);
g.drawLine(x, y, x + xl, y + yl);
}
String sRand = "";
for (int i = 0; i < 4; i++) {
String rand = String.valueOf(random.nextInt(10));
sRand += rand;
g.setColor(new Color(20 + random.nextInt(110), 20 + random.nextInt(110), 20 + random.nextInt(110)));
g.drawString(rand, 13 * i + 6, 16);
}
System.out.println(sRand);
session.setAttribute("rand", sRand);
g.dispose();
ImageIO.write(image, "JPEG", os);
os.flush();
os.close();
os = null;
response.flushBuffer();
out.clear();
out = pageContext.pushBody();
} catch (IllegalStateException e) {
System.out.println(e.getMessage());
e.printStackTrace();
}
%>
二.在需要引入的地方
<tr style="height: 22px">
<td>
<font color="#FFFFFF">验证码:</font>
</td>
<td width="200">
<input id="codeInputFront" class="inputText" type="text" style="width: 50px" />
<img id="LoginImgVerifyCode" style="float: left; src="jsp/frontstage/index/image.jsp" />
<a href="javascript:changeVerifyCode()">刷新</a>
</td>
</tr>
注意:<image>标签中要写相对路径。但是一定是写全,基于WebRoot 目录下方
分享到:
相关推荐
用JSP实现验证码数字图片,代码在JSP文件中 在引用它的页面中直接用图片标签引用 就可以了
servlet+jsp实现验证码 具体步骤: 生成图片所要实现的类 1、定义BufferedImage对象 2、获得Graphics对象 3、使用Random生成随机验证码信息 4、使用Graphics绘制图片 5、记录验证信息到session 6、使用ImageIO生成...
javaweb的小实验,在JSP上实现验证码以及验证码的刷新
jsp实现验证码技术实例 jsp实现验证码技术实例
经典JSP生成验证码经典JSP生成验证码经典JSP生成验证码经典JSP生成验证码经典JSP生成验证码经典JSP生成验证码经典JSP生成验证码
JSP实现验证码功能 JSP实现验证码功能
JSP实现的图片验证码, 验证码JSP实现 .
jsp验证码实现源代码,用jsp做注册验证码
jsp实现的验证码示例,完整的示例,可以拿去直接应用
很简单的 验证码 生成 实现 可用于 登录等需要输入验证码的地方 基于 JAVA,JSP技术
java 实现验证码(servlet+jsp),详情请看:
JSP数字验证码 JSP数字验证码 JSP数字验证码 JSP数字验证码 JSP数字验证码
JSP彩色验证码的实现JSP彩色验证码的实现JSP彩色验证码的实现JSP彩色验证码的实现
jsp页面实现验证码 添加一个jsp页面,然后引用使用就行.
jsp实现图形验证码
简单验证码的实现,通过简单的web.xml配置便可以在登陆页面展现验证码。实现登陆的验证功能
jsp servlet实现验证码功能 绝对可用!
包含三个 jsp 实现 验证码 功能 有详细解释
jsp实现的简单验证码