struts2防止表单重复提交

本文介绍如何使用Servlet&JSP及Struts2框架中的token机制防止表单重复提交。通过生成随机token并存储于session中,配合表单提交验证确保安全性。

1.用servlet&jsp防止表单重复提交的思路:

产生一个随机值,把这个值放在session中(例如:token=xxxxx),然后把这个值也包含在input.jsp的表单中(type=hidden)

input.jsp表单提交时,会把token也提交给servlet,在servlet中取出表单中token的值和当前session中的token的值比较,

如果一致就认为是第一次提交,并把session中的token删除或修改,

如果不一致就认为是重复提交,可以友好提示用户例如跳转到过期页面,或者在不一致时,不做处理直接使用第一次的请求的结果

 

2.struts2中防止表单重复提交:

token:

把<s:token>标签放在form表单中

在配置文件中

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

<interceptor-ref name="token">

              <param name="excludeMethods"></param> <!--配置token拦截器的要排除的方法-->

</interceptor-ref>

<result name="invalid.token">/invalidtoken.jsp</result><!--设置重复提交跳转的页面-->

<s:token></s:token> 会产生一个token放在session中key为“struts.token” ,在页面上会生成俩个隐藏标签 一个叫struts.token.name  一个是用struts.token.name 值作为name的隐藏标签  例如<input type="hidden" name="struts.token.name" value="hello" /><input type="hidden" name="hello" value="2PILCE1BMTLDU3983XX0CIKH2N5QJ24T" />

提交到后台进行token 比对 不一样返回invaild.token,在对应的页面上可以用 <s:actionerror/>取出错误信息

tokensession:

把上面的拦截器的器的名称改成tokenSession,把<result name="invalid.token">/invalidtoken.jsp</result>去掉即可

token和tokenSession的不同之处就在于token重复提交会返回invalid.token参数,tokenSession多次提交,只会执行一次

token和tokenSession中都可以设置<param name="excludeMethods"></param>参数,用来表示哪些方法不会使用token,一般用在一个Action处理多个请求的情况下

基于可靠性评估序贯蒙特卡洛模拟法的配电网可靠性评估研究(Matlab代码实现)内容概要:本文围绕“基于可靠性评估序贯蒙特卡洛模拟法的配电网可靠性评估研究”,介绍了利用Matlab代码实现配电网可靠性的仿真分析方法。重点采用序贯蒙特卡洛模拟法对配电网进行长时间段的状态抽样与统计,通过模拟系统元件的故障与修复过程,评估配电网的关键可靠性指标,如系统停电频率、停电持续时间、负荷点可靠性等。该方法能够有效处理复杂网络结构与设备时序特性,提升评估精度,适用于含分布式电源、电动汽车等新型负荷接入的现代配电网。文中提供了完整的Matlab实现代码与案例分析,便于复现和扩展应用。; 适合人群:具备电力系统基础知识和Matlab编程能力的高校研究生、科研人员及电力行业技术人员,尤其适合从事配电网规划、运行与可靠性分析相关工作的人员; 使用场景及目标:①掌握序贯蒙特卡洛模拟法在电力系统可靠性评估中的基本原理与实现流程;②学习如何通过Matlab构建配电网仿真模型并进行状态转移模拟;③应用于含新能源接入的复杂配电网可靠性定量评估与优化设计; 阅读建议:建议结合文中提供的Matlab代码逐段调试运行,理解状态抽样、故障判断、修复逻辑及指标统计的具体实现方式,同时可扩展至不同网络结构或加入更多不确定性因素进行深化研究。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值