首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Struts 1.x 彻底解决刷新页面时阻止重复提交有关问题

2012-09-12 
Struts 1.x 彻底解决刷新页面时阻止重复提交问题2. 重复提交由什么缺点:?1). 加重了服务器的负担.?2). 可

Struts 1.x 彻底解决刷新页面时阻止重复提交问题

2. 重复提交由什么缺点:
?1). 加重了服务器的负担.
?2). 可能导致错误操作.

3. 解决方案:
?1). 在页面上使用 js --> 禁止多次点击 "提交按钮". 可以解决 ①
?2).利用 session 解决服务器端的重复提交问题.
????? ①. 不能使用 request 解决重复提交, 因为当前页面刷新以后 request 生命周期结束, 不能把 request 中的属性带到 Action 中.
????? ②. 具体步骤:
????????????? -->页面上, 在 session 中放置一个Token
???????????????? <%
????????????????????? org.apache.struts.util.TokenProcessor.getInstance().saveToken(request);
?????????????????? %>
??????????? -->在 action 中检验该属性是否存在, 若存在(说明是第一次请求) 清除该属性, 受理请求

???????????? ->若在 action 中该属性是不存在, 说明该属性已被清除, 拒绝请求.
???????????? if(TokenProcessor.getInstance().isTokenValid(request)){
?????????????????? TokenProcessor.getInstance().resetToken(request);
?????????? }else{

????????????????// 表单重复提交 ,拒绝请求。?
?????????? }

??????????// 正常请求

?

?

此贴为javaeye中朋友的贴,经本人验证的确有效,现本人把自己在项目中遇到过的此类问题的代码及其相关文件说明上传到此,希望能帮助更多的朋友轻松解决此问题

热点排行