今天遇到一个很蠢的问题,所以写下来给自己留个教训,timberland boots
。最
近在写一个系统,用struts2+spring+Hibernate,无意中发现其中有一个action的验证信息会重复出现,因为这个action要
完成的功能很简单,所以写的时候也没太留意。而不但信息会重复出现,更夸张的是,第一次验证失败后返回到input页面后,第二次就算是输入正确,系统也
不会正常工作,永远在input页面,错误信息会不停的累加。关了浏览器重开还是这样,要重启服务器才行,汗。
一想便知是容器出了问题,去配置文件里看了看,没发现什么不对啊!和别的action一样啊!无奈中,又由于经过好几个星期的奋战,此时代码已经很多,一时找起来很困难,想行点懒事,便想上网看看。
没想到,还真有一朋友遇到我这样的事,看他的帖,症状和我的百分百雷同,lacoste shop online
,真想和他握握手,ghd purple
。
而下面回帖的人这样写道: ,一组保护视力的桌面美图
; 你的action是不是被spring代管了?
 ,一个男人的承诺
;我一看,是啊,我的action是被spring代管了。
 ,lacoste trainers
;接着他又写道:
你的action class是不是用的bean 的id?
 ,蹙眉
;我一边看还一边点头,是啊,我的真是这样的,怎么这么了解我!(其实人人都这样写)
最后他说:
把你action 的class改成全路径,问题就会得到解决,mbt footwear
。
 ,plancha ghd
;是吗?我当时想,那就是说不要spring代管了,那我还要向这个action 注属性的,这样改了肯定注不进去了。
正如我所说的,这样改了验证的问题是得到解决了,可是属性注不进去了。那不是正了一样又歪了一样,问题并没有得到根本性的解决。
正在有点想抓狂中,却无意发现我的这个bean怎么没有写scope="prototype",这个属性是告诉spring,每来一个action给我产生一个新的实例。就这么简单,问题得以真正的解决。这个蠢问题是粗心犯下的低级错误,真想给自己两下,NFL Jerseys Sale
。
分享到:
相关推荐
总的来说,Struts2的`token`拦截器是防止重复提交的有效解决方案,通过结合合理的拦截器配置和跳转策略,可以确保应用程序的稳定性和数据一致性。在实际开发中,还需要考虑其他因素,如异常处理、用户体验优化等,以...
### Struts2防止重复提交的解决方案 #### 一、引言 在Web应用程序开发中,一个常见的问题是如何有效地防止表单的重复提交。这不仅能够提高用户体验,还能增强系统的安全性。Struts2作为一款广泛使用的Java Web应用...
Struts2框架提供了一种解决方案,即使用Token机制来防止表单的重复提交。以下是对这个主题的详细说明: 1. **表单重复提交问题**:当用户在提交表单时,由于网络延迟或用户误操作,可能会导致同一个表单被多次提交...
本文将深入探讨这个问题,并提供解决方案。 一、什么是重复提交? 在Web应用中,用户可能会意外地多次点击提交按钮,导致服务器端接收到多个相同请求,这就叫做重复提交。在Struts框架中,如果不对这种行为进行控制...
Struts框架作为Java Web应用开发的经典框架之一,提供了一套成熟的解决方案来处理这个问题——即所谓的令牌(token)机制。 #### 什么是令牌机制? 令牌机制是Struts框架用于防止表单重复提交的一种手段。其基本...
CAS是一个开放源码的SSO解决方案,由耶鲁大学开发,用于验证用户身份并提供单一登录服务。它的主要工作原理是:当用户尝试访问受保护的应用时,会被重定向到CAS服务器进行身份验证,一旦验证成功,CAS会返回一个票据...
- **内置拦截器**:Struts2提供了一系列内置拦截器,如`params`(参数填充)、`token`(防止重复提交)、`servletConfig`(获取Servlet配置信息)等。 - **自定义拦截器**:可以通过实现`Interceptor`接口或继承`...
"防止表单重复提交 token"是Struts2提供的一种解决方案,通过在请求中加入一个唯一的token来确保请求的唯一性和一致性。 首先,我们来看如何实现这个机制。在Struts2中,我们可以使用拦截器(Interceptor)来实现...
总结来说,Servlet、Struts和SpringMVC都提供了各自的解决方案来防止表单重复提交,主要方法包括使用Session、令牌机制、重定向和拦截器等。开发者可以根据项目需求选择合适的方式来实现,确保应用的稳定性和数据...
这个压缩包中的Eclipse项目可能包含了一个示例实现,你可以通过阅读代码,更深入地理解这个解决方案的工作原理和应用场景。 总的来说,Struts2拦截器是处理Web应用中各种问题的强大工具,包括重复提交。通过合理...
Struts2的解决方案之一是利用Action的Result类型,尤其是`redirect`和`redirectAction`。这两种结果类型都可以在处理完表单后使浏览器跳转到新的URL,从而避免再次提交。 1. **redirect** 结果类型: 这种结果类型...
- **解决方案**: - 使用Token机制防止重复提交。 - 在`struts.xml`中配置Token拦截器。 - 在Action类中处理Token验证逻辑。 #### 八、杂项 **8.1 常见问题解答** - **问题汇总**:针对Struts2开发过程中常见的...
尽管标题和描述中的重复信息可能是一个错误,但我们可以深入探讨Struts2、Spring以及Spring与Struts2结合使用时的关键知识点。 ### Struts2框架 Struts2是Apache软件基金会维护的一个开源框架,用于构建企业级Java...
- **社区支持**:拥有庞大的开发者社区,提供了丰富的资源和解决方案,对于遇到的问题可以迅速获得帮助。 #### Struts2的发展历程 Struts框架由Craig R. McClanahan于2000年创建并捐赠给Apache基金会。最初的版本...