1、到http://code.google.com/p/kaptcha/ 下载jar文件到 WEB-INF/lib目录下
2、配置web.xml文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="starter" version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>Struts 2 - Maven Archetype - Starter</display-name>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:applicationContext.xml</param-value>
</context-param>
<!-- 关键是这部分servlet配置要放在下面的filter配置之前,否则就会找默认的action去处理了-->
<servlet>
<servlet-name>Kaptcha</servlet-name>
<servlet-class>com.google.code.kaptcha.servlet.KaptchaServlet</servlet-class>
<init-param>
<param-name>kaptcha.image.width</param-name>
<param-value>100</param-value>
</init-param>
<init-param>
<param-name>kaptcha.image.height</param-name>
<param-value>30</param-value>
</init-param>
<init-param>
<param-name>kaptcha.textproducer.font.size</param-name>
<param-value>30</param-value>
</init-param>
<init-param>
<param-name>kaptcha.textproducer.char.length</param-name>
<param-value>4</param-value>
</init-param>
<init-param>
<param-name>kaptcha.border</param-name>
<param-value>no</param-value>
</init-param>
<init-param>
<param-name>kaptcha.textproducer.font.color</param-name>
<param-value>black</param-value>
</init-param>
<init-param>
<param-name>kaptcha.textproducer.char.space</param-name>
<param-value>2</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>Kaptcha</servlet-name>
<url-pattern>/Kaptcha.jpg</url-pattern>
</servlet-mapping>
<!-- Filters -->
<filter>
<filter-name>action2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>action2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- Listeners -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- Welcome file lists -->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.jsp</welcome-file>
<welcome-file>login.jsp</welcome-file>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>
关键是这部分servlet配置要放在下面的filter配置之前,否则就会找默认的action去处理了,而且struts2是支持servlet配置的
3、jsp文件
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>登陆</title>
</head>
<body>
<form method="POST">
<table>
<tr>
<td>用户名称:</td>
<td><input type="text" name="userId"></td>
</tr>
<tr>
<td>用户密码:</td>
<td><input type="password" name="passwd"></td>
</tr>
<tr>
<td>验证码:</td>
<td><input type="text" name="userId"></td>
<td><img src="../Kaptcha.jpg"></td>
</tr>
<tr>
<td><input type="submit" name="submit"></td>
</tr>
</table>
</form>
</body>
</html>
关键是<td><img src="../Kaptcha.jpg"></td>这个文件名是在配置文件里边指定的,而且要注意相对路径
4、action中可以利用下列代码获得验证码数值
Map<String,Object> session = ActionContext.getContext().getSession();
String kaptchaExpected = (String)session.get(com.google.code.kaptcha.Constants.KAPTCHA_SESSION_KEY);
session.remove(com.google.code.kaptcha.Constants.KAPTCHA_SESSION_KEY);
分享到:
相关推荐
kaptcha验证码在使用上比其它的都方便,配置也相对简单,建议将本实例中的源码导入到Eclipse运行。其中主要有几处配置,一是在Web.xml文件里增加相应的配置,后是在Action里做相关的生成及校验工作。前台采用不刷新...
struts2生成图片验证码
Struts2的验证码生成
相关知识struts2,fileupload等,实现图片上传并生成缩略图。单文件上传,图片展示直接使用jQuery FancyBox,效果不错,值得初学者研究学习。
struts2内存中生成excel并下实例
struts2登陆验证struts2登陆验证struts2登陆验证struts2登陆验证
FreeMarker,Struts,代码生成器
struts2官方例子7-表单验证 xml形式的验证,主要是在相应的action类旁,新建一个对应的xml文件,进行验证
struts2拦截器和验证框架
struts2的验证 以及登陆注册的简单实现
浅谈 Struts2 表单验证
struts2标签使用例子 struts2标签使用例子 struts2标签使用例子struts2标签使用例子
struts 初步认识Struts2并部署验证 struts2 将要进行自定义类型转换的点数据从1个增加到3个 ...struts9 进行局部性的验证,使用struts2标签库对register.jsp进行改进 strrts10 第七讲struts2中的案例
用于生成最新struts2框架文档,介绍非常详细
把Excel表中的数据读取到list集合中 再对集合进行处理并生成txt文件直接下载,代码运行成功可用
在Eclipse中配置Struts2...Struts2―表单验证validate(html)对validate的type属性校验类型以及param 做了详细的解释说明。 struts2和struts的比较 让你更清楚的知道struts2和struts的不同之处。 struts教程(html)
Struts2中Validation数据验证框架教程 struts2中validation框架_前台验证 struts2中validation框架_后台验证
Struts2+FreeMaker静态页面生成
使用struts2 上传图片,上传图片后生成一张压缩后的图片,和生成一张小图片,在网页上不用显示大图片,显示的缩小后的图片
综合使用servlet filter与struts2 interceptor对权限进行验证。