java验证码实例

xiewenjiao 贡献于2013-07-01

作者 Administrator  创建于2008-12-26 08:45:00   修改者Administrator  修改于2012-05-23 10:34:00字数4063

文档摘要:java验证码实例
关键词:

1. 创建Image.java package edu.jmi; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.IOException; import java.io.OutputStream; import java.util.Random; import javax.imageio.ImageIO; public class Image { private char mapTable[] = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' }; public String getCertPic(int width, int height, OutputStream os) { if (width <= 0) width = 60; if (height <= 0) height = 20; BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics g = image.getGraphics(); g.setColor(new Color(0xDCDCDC)); g.fillRect(0, 0, width, height); g.setColor(Color.black); g.drawRect(0, 0, width - 1, height - 1); String strEnsure = ""; for (int i = 0; i < 4; ++i) { strEnsure += mapTable[(int) (mapTable.length * Math.random())]; } g.setColor(Color.black); g.setFont(new Font("Atlantic Inline", Font.PLAIN, 18)); String str = strEnsure.substring(0, 1); g.drawString(str, 8, 17); str = strEnsure.substring(1, 2); g.drawString(str, 20, 15); str = strEnsure.substring(2, 3); g.drawString(str, 35, 18); str = strEnsure.substring(3, 4); g.drawString(str, 45, 15); Random rand = new Random(); for (int i = 0; i < 10; i++) { int x = rand.nextInt(width); int y = rand.nextInt(height); g.drawOval(x, y, 1, 1); } g.dispose(); try { ImageIO.write(image, "JPEG", os); } catch (IOException e) { return ""; } return strEnsure; } } 2. 创建index.jsp image.jsp 和check.jsp文件 Index.jsp文件 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> 登陆界面
用户名:
密  码:
验证码:
Image.jsp文件 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> My JSP 'image.jsp' starting page <%String str=image.getCertPic(0,0,response.getOutputStream()); session.setAttribute("certCode",str); %> Check.jsp文件 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> My JSP 'check.jsp' starting page <% String certCode=request.getParameter("certCode"); if(certCode.equals((String)session.getAttribute("certCode"))) out.println(""); else out.println(""); %>

下载文档到电脑,查找使用更方便

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 3 金币 [ 分享文档获得金币 ] 2 人已下载

下载文档