`
xiongzhenhui
  • 浏览: 209658 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

webwork及struts2.0防止表单重复提交

阅读更多

关键字: struts2, webwork

1.struts2<s:token/>
这个标签在页面中的生成效果如下:
<input type="hidden" value="struts.token" name="struts.token.name"/>
<input type="hidden" value="2TGL4IX4EUI7OSQ0C0HD4JJ1185XPBA6" name="struts.token"/>
webwork<ww:token/>
这个标签在页面中的生成效果如下:
<input type="hidden" name="webwork.token" value="55YLJH29V9MDC7NKQ1UZAPIDMF35OF49"/>
----------------------------
2.如果一个action需要使用token机制,则需要进行如下的处理:
webwork要先配置 
<interceptor name="token-session" class="com.opensymphony.webwork.interceptor.TokenSessionStoreInterceptor" />
<interceptor name="token" class="com.opensymphony.webwork.interceptor.TokenInterceptor" />拦截器然后在action中
引用
    <action name="save" class="com.chsi.sample.action.SampleEAction" method="save">
         <interceptor-ref name="token"/>
      <interceptor-ref name="defaultStack" />
      <result name="invalid.token" type="dispatcher">/sample/form/error.jsp</result>
    </action>


3.在jsp页面中要显示错误信息则需要使用到标签:error.jsp:
    <s:actionerror/> 这个标签打印出错误信息, 因为token的拦截器生成的信息是action级别的错误

关于提示信息的处理:
struts.messages.invalid.token=The form has already been processed or no token was supplied, please try again.
struts.internal.invalid.token=Form token {0} does not match the session token {1}.
4.


.<interceptor-ref name="token"/> 
<interceptor-ref name="token-session"/>
<!--注意struts2.0 拦截器名字为token-session struts2.1.2 已经更改为tokenSession --> 
<!--注意struts2.0 拦截器名字为token-session struts2.1.2 已经更改为tokenSession -->

  token: 在活动中检查合法令牌(token), 防止表单的重复提交; 在会产生提示信息

  token-session: 同上, 但是在接到非法令牌时将提交的数据保存在session中; 不会在会产生提示信息

  只会在后台发出警告并处理,如下:

  警告: Form token KO80SIJW4F84034NG5HM1ZBUGOVNY64D does not match the session token null.

分享到:
评论

相关推荐

    struts2.0的特点

    Struts2.0是Java Web开发领域中的一款流行框架,它是Struts1.x与WebWork框架的结合体,继承了两者的优点并进行了创新。在Struts2.0中,核心概念之一是Action,它被设计为一个简单的POJO(Plain Old Java Object),...

    Struts2.0框架技术详解

    ### Struts2.0框架技术详解 #### 一、MVC思想 **1.1 Model I 模式和 Model II 模式** ##### 1.1.1 Model I 模式 在Model I模式下,整个Web应用几乎全部由JSP页面组成。JSP页面不仅接收处理客户端请求,还直接...

    WebWork2.0讲解说明

    虽然后来WebWork与Struts合并成Struts2,但WebWork2.0的理念和技术仍在Struts2中得到体现。与Spring MVC相比,WebWork2.0在轻量级和快速开发方面具有优势,但在企业级应用的集成方面,Spring MVC可能更为全面。 ...

    struts2.0与dwr开发实例

    Struts2.0是Struts1.x的升级版,它吸收了WebWork框架的优势,提供了更强大的Action、拦截器、结果类型等核心组件。其优点包括强大的拦截器机制、丰富的插件支持、良好的异常处理以及面向切面的编程模型。在Struts2.0...

    struts 2.0帮助文档

    本教程的"www.qupan.com_2211281_struts2.0中文教程.chm"文件可能包含详细章节,如Action配置、OGNL使用、拦截器编写、结果类型定制、异常处理、标签库使用、整合Spring等,通过实例帮助读者掌握Struts 2.0的各个...

    struts 2.0

    此外,Struts 2.0还提供了强大的表单验证功能,可以通过编写Validator Form类或使用Struts 2的XML验证配置来实现。它还支持Ajax集成,通过JSON和XML响应,能够实现页面的部分更新,提升用户体验。 Struts 2.0框架与...

    struts2.0字符编码使用过滤器

    Struts2.0是一个基于MVC设计模式的Java Web框架,它整合了WebWork和Struts1的优点,提供了更强大的动作调度、拦截器和结果类型等功能,有助于简化Web应用的开发。 2. **字符编码问题** 字符编码问题通常出现在...

    struts2.0详细配置文档.doc

    在响应发送时,它们会进行方法后的织入通知,提供了类似AOP(面向切面编程)的功能,例如防止表单重复提交、权限验证等。 5. **Action执行**:经过拦截器后,Action会被执行。Action是业务逻辑的载体,处理请求数据...

    Struts2.0

    Struts2.0是Java企业级开发中广泛使用的MVC框架,它是在WebWork的基础上发展起来的,旨在提供更强大的功能和更好的灵活性。这个教程涵盖了Struts2.0和WebWork的核心概念,帮助开发者理解如何有效地构建Web应用程序。...

    struts2.0 简单登录

    Struts2.0是一个强大的Java Web开发框架,它基于Model-View-Controller(MVC)设计模式,旨在简化企业级应用程序的开发。在这个"struts2.0 简单登录"的应用程序中,我们将探讨如何利用Struts2的核心概念和组件来创建...

    Hibernate3.2+Spring3.0+Struts2.0中文API

    **Struts2.0** 是基于MVC设计模式的Web应用框架,它整合了WebWork的核心技术和Struts1.x的优点。Struts2.0提供了一种声明式验证机制,可以方便地进行表单验证;它还支持拦截器,允许自定义行为并易于扩展。与Spring...

    Struts2.0中文教程和struts2入门教程

    Struts2.0是Java Web开发中的一个强大框架,它基于Model-View-Controller(MVC)设计模式,为开发者提供了构建可维护性高、结构清晰的Web应用程序的工具。这个教程集合包括"Struts2.0中文教程"和"struts2入门教程"两...

    struts2.0中文教程

    Struts2.0中文教程是针对Java Web开发中流行的MVC框架——Struts2的一款详尽教程,非常适合初学者入门学习。本教程采用CHM(Compiled HTML Help)格式,这种格式便于用户离线查阅和快速查找相关知识,使得学习过程...

    struts2.0入门

    Struts2.0是Java Web开发中的一个强大框架,它基于Model-View-Controller(MVC)设计模式,为开发者提供了构建动态Web应用程序的高效工具。这个“struts2.0入门”压缩包很可能是为了帮助初学者快速掌握Struts2.0的...

    Struts2.0文档

    Struts2.0是Java Web开发中一个非常重要的框架,它是经典的MVC(Model-View-Controller)设计模式的实现,极大地简化了基于Java Servlet的Web应用开发。本教程将深入探讨Struts2.0的核心概念、关键组件以及常用标签...

    spring2.5+hibernate3.2+struts2.0组合配置说明

    Struts2.0 是基于 Struts1 的重大改进,采用了更加灵活的配置方式,并且整合了 WebWork 的强大功能。它主要用于实现模型-视图-控制器(MVC)设计模式,使得应用程序的结构更加清晰。 - **MVC架构**:Struts2 提供了...

    Struts2.0入门

    Struts2.0 是一个基于模型-视图-控制器(MVC)设计模式的Java Web应用程序框架,它在Struts 1.x的基础上进行了重大改进,引入了许多新特性,旨在提高开发效率和应用性能。Struts2是Struts 1.x与Webwork框架的融合,...

    struts2.0快速入门

    ### Struts2.0快速入门知识点详解 #### Struts2框架概述 - **定义与特点**:Struts2是一款基于MVC(Model-View-Controller)模式的Web应用程序框架,相较于Struts1.x版本有着根本性的变化。Struts2不仅吸取了...

    struts对比1.2vs 2.0.rar

    Struts 2.0则是一个全新的框架,它是Struts 1和WebWork的融合,带来了许多改进和新特性。首先,Struts 2采用了更灵活的拦截器(Interceptor)机制,允许开发者自定义拦截器来实现各种功能,如权限控制、日志记录等。...

Global site tag (gtag.js) - Google Analytics