一、概述

  • regist.jsp----->RegistServlet
  • 表单重复提交 危害: 刷票、 重复注册、带来服务器访问压力(拒绝服务)
  • 解决方案:
    • 在页面上生成一个令牌(就是一个随机字符串),将其存储到session中,并在表单中携带.
    • 在服务器端,获取数据时,也将令牌获取,将它与session中存储的token对比,没问题,将session中令牌删除。

二、Struts2中解决方案

  • struts2中怎样解决表单重复提交:
  • 在struts2中解决表单重复提交,可以使用它定义的一个interceptor。
    xml
    <interceptor name="token" class="org.apache.struts2.interceptor.TokenInterceptor"/>

三、实现步骤

  • 1.在页面上需要使用一个token tag,在表单中添加一个标签 <s:token/> ,就会在页面上生成一个令牌,并存在于表单中。
  • 2.需要在action中引入token拦截器 <interceptor-ref name="token"/>
  • 3.需要配置视图
    • <result name="invalid.token">/token.jsp</result>
    • 通过 显示错误信息
    • 覆盖重复提交信息 struts.messages.invalid.token=您已经重复提交表单,请刷新后重试

【Struts2】防止表单重复提交的更多相关文章

  1. 关于struts2防止表单重复提交

    struts2防表单重复提交有两种方式. 其一是action的重定向,跳转时设置type为从一个action跳转到另一个action或者另一个页面, 使用户提交后,所停留的位置,不是当前处理数据的Ac ...

  2. Struts2防止表单重复提交

    1.说明 系统拦截器的应用. 表单重复提交:当使用请求转化进行跳转的时候,存在着表单重复提交的问题. 2.在表单中加入s:token 如果页面加入了struts2的标签,页面的请求必须进入struts ...

  3. 【转】Struts2解决表单重复提交问题

    用户重复提交表单在某些场合将会造成非常严重的后果.例如,在使用信用卡进行在线支付的时候,如果服务器的响应速度太慢,用户有可能会多次点击提交按钮,而这可能导致那张信用卡上的金额被消费了多次.因此,重复提 ...

  4. Struts2 处理表单重复提交

    * 在表单页面中增加一个隐藏域:<s:token></s:token>(需要在表单内)        * 创建一个struts.xml的配置文件,具体配置如下:         ...

  5. Struts2基础学习(八)—Struts2防止表单重复提交

    一.原因      用户重复提交表单在某些场合将会造成非常严重的后果.例如,在使用信用卡进行在线支付的时候,如果服务器的响应速度太 慢,用户有可能会多次点击提交按钮,而这可能导致那张信用卡上的金额被消 ...

  6. struts2防止表单重复提交的解决方案

    一.造成重复提交主要的两个原因:    在平时的开发过程中,经常可以遇到表单重复提交的问题,如做一个注册页面,如果表单重复提交,那么一个用户就会注册多次,重复提交主要由于两种原因. 1. 一是,服务器 ...

  7. struts2 防止表单重复提交--令牌机制

    jsp: action: 配置文件:

  8. 12、Struts2表单重复提交

    什么是表单重复提交 表单的重复提交: 若刷新表单页面, 再提交表单不算重复提交. 在不刷新表单页面的前提下: 多次点击提交按钮 已经提交成功, 按 "回退" 之后, 再点击 &qu ...

  9. Struts2第十三篇【防止表单重复提交】

    回顾防止表单重复提交 当我们学习Session的时候已经通过Session来编写了一个防止表单重复提交的小程序了,我们来回顾一下我们当时是怎么做的: 在Servlet上生成独一无二的token,保存在 ...

  10. [原创]java WEB学习笔记73:Struts2 学习之路-- strut2中防止表单重复提交

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

随机推荐

  1. 阶段5 3.微服务项目【学成在线】_day04 页面静态化_10-freemarker静态化测试-基于模板文件静态化

    把resource拷贝到test目录下 只保留文件夹结构和test1.ftl这个模板文件就可以了. 新建一个包 编写测试类 使用freemaker提供的方法生成静态文件 Configuration是i ...

  2. 使用STM32F103ZET霸道主板实现LCD显示屏显示

    简单了解液晶显示屏 液晶显示屏LCD是靠背光LED发光,然后经过横竖透光,每个点电压可以改变光线的方向,总之能改变透光度0-100%,最后就是每个像素点对应红绿蓝RGB,RGB各自的亮度不同,组成的颜 ...

  3. ID3算法(MATLAB)

    ID3算法是一种贪心算法,用来构造决策树.ID3算法起源于概念学习系统(CLS),以信息熵的下降速度为选取测试属性的标准,即在每个节点选取还尚未被用来划分的具有最高信息增益的属性作为划分标准,然后继续 ...

  4. STL标准模板库之set

    目录 一.关联式容器 二.什么是set? 特点 优缺点和适用场景: 三.定义及初始化 四.基本操作 1)容量函数 2)修改函数 3)迭代器 4)其他函数 五.与序列容器的不同点 一.关联式容器 关联式 ...

  5. C#实现自动刷新网页

    需要的童鞋可以下载整个项目:http://pan.baidu.com/s/1geMADvP 运行效果图如下:

  6. 删除Vue中无权限的【node_modules】文件

    npm install rimraf -g rimraf node_modules

  7. [Cometoj#3 C]子序列子序列子序列..._动态规划_数论

    子序列子序列子序列... 题目链接:https://cometoj.com/contest/38/problem/C?problem_id=1542 数据范围:略. 题解: 神仙题,感觉这个题比$D$ ...

  8. [CF429E]Points ans Segments_欧拉回路

    Points and Segments 题目链接:www.codeforces.com/contest/429/problem/E 注释:略. 题解: 先离散化. 发现每个位置如果被偶数条线段覆盖的话 ...

  9. Connect4 Game

    How this game is playe can be found at here. public class Connect4 { ][]; public Connect4(char[][] b ...

  10. 大数据学习笔记【一】:Hadoop-3.1.2完全分布式环境搭建(Windows 10)

    一.前言 Hadoop原理架构本人就不在此赘述了,可以自行百度,本文仅介绍Hadoop-3.1.2完全分布式环境搭建(本人使用三个虚拟机搭建). 首先,步骤: ① 准备安装包和工具: hadoop-3 ...