一
HTML
-
Basic
Image
标签
<IMG src="../images/03.gif" border="0">
所有属性包括
Basic
属性包括
?alt
?????? Class
?????? Id
?????? Long
?????? Longdesc
?????? Name
?????? Src
?????? Title
?????? Usemap
Display
属性包括
?????? Align
?????? Border
?????? Dir
?????? Height
?????? Hspace
?????? Ismap
?????? Mapfile
?????? Style
?????? Vspace
?????? Width
Events
属性包括
?????? Onclick
Ondbclick
Onhelp
Onkeydown
Onkeypress
Onkeyup
Onmounsedown
Onmousemove
Onmouseout
Onmouseover
Onmouseup
二、
HTML-Form
?Image Button<INPUT type="image" src="../images/03.gif" />
Basic
属性包括
?Accept
?Accesskey
?Alt
Checked
?????? Class
?????? Disabled
?????? Id
?????? Long
?????? Maxlength
?????
?Name
?????? readonly
?????? Src
?????? Tabindex
?????? Title
?????? Type
?????? Usemap
?????? Value
Display
属性包括
?????? Align
?????? Border
?????? Dir
?????? Height
?????? Ismap
Isstyle
Size
?????? Style
?????? Width
Events
属性包括
?????? Onblur
?????? Onchange
Onclick
Ondbclick
Onfocus
Onhelp
Onkeydown
Onkeypress
Onkeyup
Onmounsedown
Onmousemove
Onmouseout
Onmouseover
Onmouseup
?????? Onselect
三、
Struts
-
Basic
Image <html:img page="/images/03.gif" border="0" />
Basic
属性包括
?Action
Alt
?AltKey
?Bundle
?imageName
?locale
?lowsrc
?????? Name
?????? Page
PageKey
Paramname
Paramproperty
Paramscope
?????? Src
????
??SrcKey
?????? Title
?????? titleKey
?????? Usemap
Display
属性包括
?????? Align
?????? Border
?????? Height
?????? Hsapce
?????? Ismap
?????? Style
?????? StyleClass
?????? StyleId
?????? Vsapce
?????? Width
Events
属性包括
Onclick
Ondbclick
Onkeydown
Onkeypress
Onkeyup
Onmounsedown
Onmousemove
Onmouseout
Onmouseover
Onmouseup
Other
属性包括
?????? contextRealtive
?????? module
?????? paramId
?????? useLocalEncoding
四、
Struts-Form
Image Button <html:image page="/images/03.gif" />
Basic
属性包括
Accesskey
?Alt
?altKey
bundle
?
????? Disabled
?????? Indexed
?????? Locale
?????? Page
pageKey
property
?????? Src
?????? SrcKey
?????? Tabindex
?????? Title
?????? titleKey
?????? Value
Display
属性包括
?????? Align
?????? Border
?????? Style
?????? styleClass
?????? styleId
Events
属性包括
???
???Onblur
?????? Onchange
Onclick
Ondbclick
Onfocus
Onkeydown
Onkeypress
Onkeyup
Onmounsedown
Onmousemove
Onmouseout
Onmouseover
Onmouseup
?
?
在
Struts
必须使用
Struts
-
Basic
下的
Image
标签
和
Struts-Form
下的
Image Button
按钮。其中可以使用
servlet
随机生成的图片,或者
jsp
文件。
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++){
??? 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);
}
?
//
将认证码存入
SESSION
session.setAttribute("rand",sRand);
?
//
图象生效
g.dispose();
?
//
输出图象到页面
ImageIO.write(image, "JPEG", response.getOutputStream());
%>
使用页面:
<%@ page contentType="text/html;charset=gb2312" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>
认证码输入页面
</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="0">
</head>
<body>
<form method=post action="check.jsp">
<table>
<tr>
<td align=left>
系统产生的认证码:
</td>
<td><img border=0 src="image.jsp"></td>
</tr>
<tr>
<td align=left>
输入上面的认证码:
</td>
<td><input type=text name=rand maxlength=4 value=""></td>
</tr>
<tr>
<td colspan=2 align=center><input type=submit value="
提交检测
"></td>
</tr>
</form>