用ApacheImgTag生成随即验证图片

王朝system·作者佚名  2008-05-19
宽屏版  字体: |||超大  

现在网上已有很多通过jsp生成图片的方法。在sitemesh环境下工作的不是很好。

现介绍另一种可选方法:

用Apache Img Tag生成随即验证图片

步骤:

1、下载jakarta-taglibs-sandbox-image

如果需要支持gif,下载 PJA Toolkit(在http://www.eteks.com)

2、拷贝相应的jar文件到WEB-INF/lib目录下

3、配置web.xml文件

<servlet

<servlet-nameImageServlet</servlet-name

<servlet-classorg.apache.taglibs.image.ImageServlet</servlet-class

</servlet

<servlet-mapping

<servlet-nameImageServlet</servlet-name

<url-pattern/servlet/org.apache.taglibs.image.ImageServlet</url-pattern

</servlet-mapping

<taglib

<taglib-urihttp://jakarta.apache.org/taglibs/image-1.0</taglib-uri;

<taglib-location/WEB-INF/taglibs-image.tld</taglib-location

</taglib

4、配置sitemesh decorators.xml文件

<excludes

<pattern/decorators/*</pattern

<pattern/resources/*</pattern

<pattern/servlet/*</pattern

</excludes

5、jsp中使用

I.加入标签头

<%@ taglib uri="http://jakarta.apache.org/taglibs/image-1.0" prefix="img" %

II. 加入代码

<%

java.util.Random random = new java.util.Random();

String sRand="";

for (int i=0;i<4;i++){

String rand=String.valueOf(random.nextInt(10));

sRand+=rand;

}

session.setAttribute("rand",sRand);

%

<img:image

src="/images/blank.jpg"

refresh="true"

<img:text

text="<%= sRand%"

x="0"

y="0"

font="Arial"

bold="true"

size="12"

color="0xff0000"

/

</img:image

III.可选的一种对不同数字使用不同颜色

<img:image

src="images/blank.jpg"

refresh="true"

<img:text

text="2"

x="0"

y="0"

font="Arial"

bold="true"

size="12"

color="0xff0000"

/

<img:text

text="3"

x="25%"

y="0"

font="Arial"

bold="true"

size="12"

color="0x000000"

/

<img:text

text="4"

x="50%"

y="0"

font="Arial"

bold="true"

size="12"

color="0x00ff00"

/

<img:text

text="5"

x="75%"

y="0"

font="Arial"

bold="true"

size="12"

color="0x00ffff"

/

</img:image

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有