科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道用Apache Img Tag生成随即验证图片

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

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

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

作者:中国IT实验室 来源:中国IT实验室 2007年9月22日

关键字: WebServices 编程 java

  • 评论
  • 分享微博
  • 分享邮件

  现在网上已有很多通过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-name>ImageServlet</servlet-name>
  <servlet-class>org.apache.taglibs.image.ImageServlet</servlet-class>
  </servlet>
  
  <servlet-mapping>
  <servlet-name>ImageServlet</servlet-name>
  <url-pattern>/servlet/org.apache.taglibs.image.ImageServlet</url-pattern>
  </servlet-mapping>
  <taglib>
  <taglib-uri>http://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>
  

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件