struts2使用kaptcha实现验证码功能
2015-04-15 16:25
429 查看
1.下载kaptcha-2.3.2.jar,拷贝到项目中;
2.首先在web.xml文件中添加以下代码(包括struts2过滤器和Kaptcha的相关配置):
3.编写login.jsp显示页面,代码如下:
4.编写login.js文件,需要下载jquery,代码如下:
5.得到KaptchaServlet生成的验证码:
kaptchaServlet默认是把验证码保存在session中,如果是struts2的action,可以通过如下方式获取
如果是servlet,直接通过以下代码获取
KaptchaServlet生成验证码还有如下配置:
参考以下地址
参考:
kaptcha验证码使用
2.首先在web.xml文件中添加以下代码(包括struts2过滤器和Kaptcha的相关配置):
<?xml version="1.0" encoding="utf-8"?> <web-app id="WebApp_9" 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"> <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>150</param-value> </init-param> <init-param> <param-name>kaptcha.image.height</param-name> <param-value>50</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> <init-param> <param-name>kaptcha.obscurificator.impl</param-name> <param-value>com.google.code.kaptcha.impl.ShadowGimpy</param-value> </init-param> <init-param> <param-name>kaptcha.textproducer.font.names</param-name> <param-value>Arial, Courier</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>Kaptcha</servlet-name> <url-pattern>/Kaptcha.jpg</url-pattern> </servlet-mapping> <!--添加struts过滤器--> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!--设置项目的首页--> <welcome-file-list> <welcome-file>login.jsp</welcome-file> </welcome-file-list> </web-app>
3.编写login.jsp显示页面,代码如下:
<%@page language="java" contentType="text/html;charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <script type="text/javascript" src="<c:url value='/js/jquery-2.1.3.js'/>"></script> <script type="text/javascript" src="<c:url value='/js/login.js'/>"></script> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>登录界面</title> </head> <body> <img src="Kaptcha.jpg" id="kaptchaImage" /> <a href="javascript:_change()">换一张</a> </body> </html>
4.编写login.js文件,需要下载jquery,代码如下:
$(function() { //点击图片本身更换图片 $('#kaptchaImage').click(function() { $(this).attr('src', 'Kaptcha.jpg?' + Math.floor(Math.random() * 100)); }) }); //点击换一张,更换图片 function _change() { $("#kaptchaImage").attr('src', 'Kaptcha.jpg?' + Math.floor(Math.random() * 100)); }
5.得到KaptchaServlet生成的验证码:
kaptchaServlet默认是把验证码保存在session中,如果是struts2的action,可以通过如下方式获取
String kaptchaExpected = (String)ActionContext.getContext().getSession().get(com.google.code.kaptcha.Constants.KAPTCHA_SESSION_KEY);
如果是servlet,直接通过以下代码获取
request.getSession().getAttribute(com.google.code.kaptcha.Constants.KAPTCHA_SESSION_KEY);
KaptchaServlet生成验证码还有如下配置:
参考以下地址
参考:
kaptcha验证码使用
相关文章推荐
- 使用技巧:Java实现随机验证码功能实例
- 使用Java程序实现随机验证码功能的实例
- 使用Java程序实现随机验证码功能的实例
- struts2中使用自定义标签实现翻页功能
- 使用Java程序实现随机验证码功能的实例
- struts2、servlet实现验证码功能
- 如何使用struts2结合MySQL实现分页功能?
- 如何在struts2中实现登陆的验证码功能
- 如何在struts2中实现登陆的验证码功能
- 使用hibernate和struts2实现分页功能
- Kaptcha实现的验证码功能
- struts2 + extjs3.4 中使用kindeditor4.1.4实现上传功能
- MVC3学习第十四章 佟掌柜第三弹——MVC3下利用陕北吴旗娃的验证码控件实现验证码功能以及在mvc3下使用编辑器
- 使用AWT组件实现验证码功能
- 使用AWT组件实现验证码功能
- 使用hibernate和struts2实现分页功能
- 使用JS来实现验证码功能
- 使用Servlet实现网页验证码功能
- 使用Servlet实现网页验证码功能
- springMVC入门(四) Kaptcha 实现验证码功能