JSP实现彩色验证码—源码实例
2008-02-24 19:19
597 查看
点击这里使用RSS订阅本Blog:
Demo1.jsp
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@ page import="java.awt.*" %>
<%@ page import="java.awt.image.*" %>
<%@ page import="javax.imageio.*" %>
<%!
Color getRanColor(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);
}
%>
<%
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-che");
response.setDateHeader("Expires",0);
int width=60;
int height=20;
BufferedImage image=new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
Graphics g =image.getGraphics();
Random random=new Random();
g.setColor(getRanColor(200,250));
g.fillRect(0,0,width,height);
g.setFont(new Font("Times New Roman",Font.PLAIN,18));
g.setColor(getRanColor(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),40+random.nextInt(110),60+random.nextInt(110)));
g.drawString(rand,13*i+6,16);
}
session.setAttribute("rand",sRand);
g.dispose();
ImageIO.write(image,"JPEG",response.getOutputStream());
%>
Demo.jsp
<%@ page language="java" pageEncoding="gbk"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html:html lang="true">
<head>
<html:base />
<title>Demo.jsp</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<form action="Demo2.jsp">
<input type="text" name="asd" > <img border="0" src="Demo1.jsp" >
<br>
<input type="submit" name="b" value="点击" >
</form>
</body>
</html:html>
Demo2.jsp
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'Demo2.jsp' starting page</title>
</head>
<body>
<%
String input= request.getParameter("asd");
String rand=(String)request.getSession().getAttribute("rand");
if(input.equals(rand))
{
}
else
{
%>
<jsp:forward page="Demo.jsp" ></jsp:forward>
<%
}
%>
asdasd
</body>
</html>
1
jsp实现彩色验证码 你只用复制粘贴就可以了
转自【http://www.blogjava.net/zcq87642231/archive/2008/02/24/181748.html】Demo1.jsp
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@ page import="java.awt.*" %>
<%@ page import="java.awt.image.*" %>
<%@ page import="javax.imageio.*" %>
<%!
Color getRanColor(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);
}
%>
<%
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-che");
response.setDateHeader("Expires",0);
int width=60;
int height=20;
BufferedImage image=new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
Graphics g =image.getGraphics();
Random random=new Random();
g.setColor(getRanColor(200,250));
g.fillRect(0,0,width,height);
g.setFont(new Font("Times New Roman",Font.PLAIN,18));
g.setColor(getRanColor(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),40+random.nextInt(110),60+random.nextInt(110)));
g.drawString(rand,13*i+6,16);
}
session.setAttribute("rand",sRand);
g.dispose();
ImageIO.write(image,"JPEG",response.getOutputStream());
%>
Demo.jsp
<%@ page language="java" pageEncoding="gbk"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html:html lang="true">
<head>
<html:base />
<title>Demo.jsp</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<form action="Demo2.jsp">
<input type="text" name="asd" > <img border="0" src="Demo1.jsp" >
<br>
<input type="submit" name="b" value="点击" >
</form>
</body>
</html:html>
Demo2.jsp
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'Demo2.jsp' starting page</title>
</head>
<body>
<%
String input= request.getParameter("asd");
String rand=(String)request.getSession().getAttribute("rand");
if(input.equals(rand))
{
}
else
{
%>
<jsp:forward page="Demo.jsp" ></jsp:forward>
<%
}
%>
asdasd
</body>
</html>
1
相关文章推荐
- JSP彩色验证码的实例代码
- 【JSP】JSP彩色验证码的实现
- jsp实现验证码实例
- jsp基于XML实现用户登录与注册的实例解析(附源码)
- JSP实例-彩色验证码
- JSP彩色验证码的实现
- jsp连接Access实现对Access的增删改查实例源码
- JSP生成彩色验证码升级版-汉字验证码(源码下载)
- 几种JSP彩色验证码的实现
- 基于jsp+servlet实现的简单博客系统实例(附源码)
- JSP彩色验证码的实例代码
- jsp基于XML实现用户登录与注册的实例解析(附源码)
- 基于jsp+servlet实现的简单博客系统实例(附源码)
- jsp struts mysql 实现的简单的论坛系统项目源码
- .NET下实现数字和字符相混合的验证码实例
- jsp登录验证码功能实现
- 产生彩色验证码_(javabean实现)
- spring boot+mvc+mybatis(通用mapper)+druid+jsp+bootstrap实现后台权限管理系统源码
- jsp 使用jstl实现翻页实例代码
- JSP 彩色图片验证码