`
lichen0921
  • 浏览: 81601 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

struts2验证码

阅读更多
<script>function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}</script>
验证码大多是jsp,servlet写的. 我拿来主义了, 再自己完善了一下(我一直努力想要站在巨人的肩膀)
首先是页面 test.jsp
<%@ page contentType="text/html; charset=GBK"%>
<html>
<head>
<title>test image code</title>
<script type="text/javascript">
function reloadImg(){
var i = Math.random();
document.getElementById("imgCode").src="imgcode?"+i;
}
</script>
</head>
<body>
<form action="imageCodeCheck.action" method="POST" name="form1">
<img id="imgCode" src="imgcode" border="0">
<input type="text" name="thecode" /><a href="javascript:reloadImg();">看不清?</a>
<font color="red">${requestScope.imgCodeError }</font>
<br>
<input type="submit" name="submit" value=" 提 交 " />
</form>
</body>
</html>
接下来是Action了 ImageCodeCheck.java
package com.lichen.action;

import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.SessionAware;

import cn.com.enorth.util.imgcode.ImageCodeUtils;

import com.opensymphony.xwork2.ActionSupport;

public class ImageCodeCheck extends ActionSupport implements
ServletRequestAware, SessionAware {

private HttpServletRequest request;
private Map session;

@Override
public String execute() throws Exception {
if (ImageCodeUtils.isGoodCode(request, "thecode")) {
return SUCCESS;
} else {
request.setAttribute("imgCodeError", "验证码输入不正确");
}
return INPUT;
}

@Override
public void setServletRequest(HttpServletRequest request) {
this.request = request;
}

@Override
public void setSession(Map session) {
this.session = session;
}
}
struts的配置很普通 struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.i18n.encoding" value="GBK"></constant>
<constant name="struts.locale" value="zh_CN"></constant>
<package name="struts2" extends="struts-default">
<action name="imageCodeCheck" class="com.lichen.action.ImageCodeCheck" >
<result name="success" >index.jsp</result>
<result name="input" >test.jsp</result>
</action>
</package>
</struts>
然后就是web的配置了 web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

<!-- struts2 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<!-- spring -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:applicationContext-*.xml</param-value>
</context-param>

<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>

<!-- hibernate 的session 创建关闭 -->
<filter>
<filter-name>hibernateFilter</filter-name>
<filter-class>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>hibernateFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<!-- 验证码 -->
<servlet>
<servlet-name>imagecodeservlet</servlet-name>
<servlet-class>cn.com.enorth.util.imgcode.ImageCodeServlet</servlet-class>
<init-param>
<param-name>type</param-name>
<param-value>1</param-value>
</init-param>
<init-param>
<param-name>length</param-name>
<param-value>4</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>imagecodeservlet</servlet-name>
<url-pattern>/imgcode</url-pattern>
</servlet-mapping>

<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
重点在验证码的配置
分享到:
评论

相关推荐

    struts2验证码完整实例

    (参照别人的代码) 部署: 1、将整个源码引入到MyEclipse当中. 2、部署到Tomcat下面,启动服务器,直接 敲...2、当你登录时候,提交的输入框中的验证码和session中存放的验证码比较,如果一样,则通过,不一样,则失败

    Struts2验证码

    在Struts2框架下实现验证码功能,可以帮助提升用户体验和系统安全性。以下将详细讲解如何在Struts2中创建前端注册验证码。 首先,验证码的实现通常包括两个主要部分:后端生成验证码和前端展示及验证。 1. **后端...

    STRUTS2验证码实现

    struts2图形验证码实现,两个实现类,和你一个action类

    最新的struts2验证码.rar

    "最新的struts2验证码.rar"很可能包含了有关如何在Struts2框架下实现验证码功能的示例代码或配置文件。 Struts2验证码的实现通常涉及到以下几个关键知识点: 1. **验证码生成**:验证码通常由随机生成的一串字符或...

    Struts2验证码用户登录

    Struts2验证码用户登录是一个常见的Web开发场景,用于防止恶意自动化的登录尝试,例如机器人或爬虫。在本文中,我们将深入探讨如何在Struts2框架中实现验证码功能,并结合JavaScript和session技术来增强用户体验。 ...

    struts2验证码.pdf

    Struts2验证码技术详解 验证码是一种用于防止恶意自动程序(如机器人)滥用网站服务的安全机制。在Struts2框架中,实现验证码功能可以确保用户交互的真实性和安全性。本篇文章将详细解析如何在Struts2中生成和使用...

    一个简单的struts2验证码

    在这个特定的案例中,我们关注的是"一个简单的Struts2验证码",这通常涉及到在用户交互过程中增加安全性,防止机器人或自动化程序进行恶意操作,如频繁提交表单或注册。 验证码的主要目的是验证用户是人类而非自动...

    Struts2 验证码实例

    Struts2 验证码实例;通过该实例可掌握验证码的实现原来

    STRUTS2验证码

    Struts2验证码是一个在Web应用中用于验证用户输入的有效性的安全机制。验证码的主要目的是防止自动化的机器人或恶意脚本执行不被允许的操作,例如频繁的登录尝试、恶意注册或者垃圾信息的提交。在这个Struts2的项目...

    struts2 验证码

    最近讲到struts2的验证码随手写了一个希望能帮到大家

    漂亮登陆界面+Struts2 验证码 完整实现

    开发环境: eclipse Kepler JEE IDE + Tomcat v6.0 + Struts-2.3.15(最新版) 步骤: 1. 下载后解压,import to eclipse as a project. 2. 启动 Tomcat v6.0 3. 打开...

    struts2 验证码----web界面生成几种常见的验证码

    Struts2提供了一些内置的支持来帮助开发者生成和验证验证码,以增强网站的安全性。 验证码的种类多样,包括图像验证码、音频验证码、数学问题验证码等。在Struts2中,我们可以使用插件或自定义拦截器来实现这些功能...

    struts2验证码实例

    验证码实例...............................

    struts2验证码(数字,数字+字母,汉字)

    使用struts2框架做的验证码,有纯数字版,数字和字母混合板,还有汉字版。

Global site tag (gtag.js) - Google Analytics