一、概述

  • 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=您已经重复提交表单,请刷新后重试

最新文章

  1. jquery实现简单瀑布流布局
  2. IT人可以关注的站
  3. Struts2验证框架实例
  4. 使用wkhtmltopdf实现HTML转PDF的解决方案
  5. HDU 4681 String(DP)
  6. MFC学习 画图设置字体按钮风格
  7. 从零教你如何获取hadoop2.4源码并使用eclipse关联hadoop2.4源码
  8. delphi程序设计之底层原理(有些深度)
  9. 大varchar,test,blob数据类型的优化
  10. Android - 自定义控件之圆形控件
  11. bzoj 3531: [Sdoi2014]旅行
  12. Kong(V1.0.2)Network &amp; Firewall
  13. Java CompletableFuture:allOf等待所有异步线程任务结束
  14. BZOJ3530[Sdoi2014]数数——AC自动机+数位DP
  15. shell编程:if语句
  16. js实现文件的上传和输出,拖拽上传图片
  17. 【转载】RESTful API 设计指南
  18. CSUOJ 1021 组合数末尾的零 二进制
  19. linux 使用systemctl 启动服务报错: Error: No space left on device
  20. Prime

热门文章

  1. 阶段5 3.微服务项目【学成在线】_day03 CMS页面管理开发_02-自定义查询页面-服务端-接口开发
  2. BigDecimal的toString和toPlainString区别
  3. Android学习笔记之View
  4. Java学习笔记-流程控制
  5. 理解clientX、clientY、offsetLeft、event.offsetTop、offsetWidth、offsetHeight、clientWidth、clientHeight、scrollTop、scrollHeight
  6. NLP文本清理时常用的python小函数
  7. 集成板的CodeBlocks编译器配置相关文档
  8. Devexpress xaf BO中字段为RuleRequiredField必输字段时,文本标签默认添加*标记
  9. k8s-jenkins pipeline部署
  10. decimal, double, float