JSP图片彩色数字验证
产生验证码图片的文件image.jsp
<%@ page contentType="image/jpeg" import="java.awt.*,
java.awt.image.*,java.util.*,javax.imageio.*" %>
<%!
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);
}
%>
<%
//
设置页面不缓存
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);
//
获取图形上下文
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(new Color());
//
g.drawRect(0,0,width-1,height-1);
//
随机产生155条干扰线,使图象中的认证码不易被其它程序探测到
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);
}
//
取随机产生的认证码(4位数字)
String sRand="";
for (int i=0;i<4;i++
相关文档:
我们知道 XML+XSLT就可以直接输出到支持XML的浏览器上,如IE 5.0以上,但是,我们还要考虑到有不少浏览器不直接支持XML,在这种情况下,我们需要在服务器上进行转换成html输出到浏览器,这种临时过渡办法恐怕要在一段时间内一直要使用.
使用Jsp 加上tablib标识库,我们可以完成这种转换。
著名open source项目组jakar ......
是在struts2下要解决该问题,需要两个条件:
1、确保该应用为J2EE的应用,即在web.xml下保证有以下配置信息:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSche ......
CGI就是web服务器辅助程序,和servlet是一个作用。
----jsp有什么-----
------------------------------------------------------
jsp可以包括什么:
1、jsp脚本(程序片段):
<% ... %>
2、jsp表达式:
<%= ... %>
3、jsp3种指令:
<%@ page attribute="xxx" %>
<%@ taglib attribut ......