您的位置:首页 > Web前端 > JavaScript

JSP实现彩色验证码—源码实例

2008-02-24 19:19 597 查看
点击这里使用RSS订阅本Blog:


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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: