zoukankan      html  css  js  c++  java
  • 防止表单重复提交的两种方式

    1)通过重定向

    <!-- 防止表单提交重复的方式:重定向redirectAction -->
    <action name="Action1" class="com.struts.Action1"
    method="myExecute">
    <result name="success" type="redirectAction">
    <param name="actionName">Action2</param>
    <param name="username">${username}</param>
    <param name="password">${password}</param>
    <param name="usernameAndPassword">
    ${usernameAndPassword}
    </param>
    </result>
    <!-- 在action使用拦截器 -->
    <interceptor-ref name="theInterceptor1"></interceptor-ref>
    <interceptor-ref name="theInterceptor2"></interceptor-ref>
    <interceptor-ref name="theInterceptor3">
    <param name="includeMethods">execute</param><!-- 拦截器执行, -->
    <param name="excludeMethods">myExecute</param><!-- 拦截器不执行,方法会执行 (此行删除,拦截器也不会执行)-->
    </interceptor-ref>
    <!-- 最后一定要配置默认defaultStack -->

    <interceptor-ref name="defaultStack"></interceptor-ref>
    </action>

    2)通过Session Token (Session 令牌):当客户端请求页面时,服务

    器会通过token 标签生成一个随机数,并且将该随机数放置到session

    当中,然后将该随机数发向客户端;如果客户第一次提交,那么会将

    该随机数发往服务器端,服务器会接收到该随机数并且与session 中

    所保存的随机数进行比较,这时两者的值是相同的,服务器认为是第

    一次提交,并且将更新服务器端的这个随机数值;如果此时再次重复

    提交,那么客户端发向服务器端的随机数还是之前的那个,而服务器

    端的随机数则已经发生了变化,两者不同,服务器就认为这是重复提

    交,进而转向invalid.token 所指向的结果页面。

    <!-- 防止表单提交重复的方式: session token -->
    <action name="token" class="com.struts.TokenAction">
    <result name="success">/tokenSuccess.jsp</result>
    <result name="invalid.token">/tokenFail.jsp</result>
    <interceptor-ref name="token"></interceptor-ref>
    <interceptor-ref name="defaultStack"></interceptor-ref>

    </action>

  • 相关阅读:
    curl命令查看响应时间
    sshd修改监听端口
    nginx proxy_set_header设置,自定义header
    nginx.conf详解
    系统盘脚本扩容
    IDEA中编写脚本并运行shell脚本
    常用的pdf工具
    POJ:3279-Fliptile【状态压缩】【DFS】
    POJ:Dungeon Master(BFS模板题)
    #1198:Farm Irrigation(DFS + 并查集)
  • 原文地址:https://www.cnblogs.com/a892647300/p/2645952.html
Copyright © 2011-2022 走看看