`

struts2验证信息重复出现解决方案

阅读更多

今天遇到一个很蠢的问题,所以写下来给自己留个教训。

      最近在写一个系统,用struts2+spring+Hibernate,无意中发现其中有一个action的验证信息会重复出现,因为这个action要完成的功能很简单,所以写的时候也没太留意。而不但信息会重复出现,更夸张的是,第一次验证失败后返回到input页面后,第二次就算是输入正确,系统也不会正常工作,永远在input页面,错误信息会不停的累加。关了浏览器重开还是这样,要重启服务器才行,汗。

      一想便知是容器出了问题,去配置文件里看了看,没发现什么不对啊!和别的action一样啊!无奈中,又由于经过好几个星期的奋战,此时代码已经很多,一时找起来很困难,想行点懒事,便想上网看看。

      没想到,还真有一朋友遇到我这样的事,看他的帖,症状和我的百分百雷同,真想和他握握手。

       而下面回帖的人这样写道:

      你的action是不是被spring代管了?

      我一看,是啊,我的action是被spring代管了。

      接着他又写道:

      你的action class是不是用的bean 的id?

      我一边看还一边点头,是啊,我的真是这样的,怎么这么了解我!(其实人人都这样写)

      最后他说:

      把你action 的class改成全路径,问题就会得到解决。

      是吗?我当时想,那就是说不要spring代管了,那我还要向这个action 注属性的,这样改了肯定注不进去了。

      正如我所说的,这样改了验证的问题是得到解决了,可是属性注不进去了。那不是正了一样又歪了一样,问题并没有得到根本性的解决。

      正在有点想抓狂中,却无意发现我的这个bean怎么没有写scope="prototype",这个属性是告诉spring,每来一个action给我产生一个新的实例。就这么简单,问题得以真正的解决。这个蠢问题是粗心犯下的低级错误,真想给自己两下。

分享到:
评论

相关推荐

    Struts2防止重复提交解决方案

    总的来说,Struts2的`token`拦截器是防止重复提交的有效解决方案,通过结合合理的拦截器配置和跳转策略,可以确保应用程序的稳定性和数据一致性。在实际开发中,还需要考虑其他因素,如异常处理、用户体验优化等,以...

    Struts2防止重复提交的解决方案

    ### Struts2防止重复提交的解决方案 #### 一、引言 在Web应用程序开发中,一个常见的问题是如何有效地防止表单的重复提交。这不仅能够提高用户体验,还能增强系统的安全性。Struts2作为一款广泛使用的Java Web应用...

    struts2 防止表单重复提交的例子

    Struts2框架提供了一种解决方案,即使用Token机制来防止表单的重复提交。以下是对这个主题的详细说明: 1. **表单重复提交问题**:当用户在提交表单时,由于网络延迟或用户误操作,可能会导致同一个表单被多次提交...

    15年9月传智播客视频struts2

    - **内置拦截器**:Struts2提供了一系列内置拦截器,如`params`(参数填充)、`token`(防止重复提交)、`servletConfig`(获取Servlet配置信息)等。 - **自定义拦截器**:可以通过实现`Interceptor`接口或继承`...

    解决Struts重复提交

    本文将深入探讨这个问题,并提供解决方案。 一、什么是重复提交? 在Web应用中,用户可能会意外地多次点击提交按钮,导致服务器端接收到多个相同请求,这就叫做重复提交。在Struts框架中,如果不对这种行为进行控制...

    Struts解决重复提交步骤

    Struts框架作为Java Web应用开发的经典框架之一,提供了一套成熟的解决方案来处理这个问题——即所谓的令牌(token)机制。 #### 什么是令牌机制? 令牌机制是Struts框架用于防止表单重复提交的一种手段。其基本...

    struts2学习笔记.doc

    - **解决方案**: - 使用Token机制防止重复提交。 - 在`struts.xml`中配置Token拦截器。 - 在Action类中处理Token验证逻辑。 #### 八、杂项 **8.1 常见问题解答** - **问题汇总**:针对Struts2开发过程中常见的...

    Jakarta Struts2

    - **社区支持**:拥有庞大的开发者社区,提供了丰富的资源和解决方案,对于遇到的问题可以迅速获得帮助。 #### Struts2的发展历程 Struts框架由Craig R. McClanahan于2000年创建并捐赠给Apache基金会。最初的版本...

    struts2+spring+springstruts2+spring+springstruts2+spring+spring

    尽管标题和描述中的重复信息可能是一个错误,但我们可以深入探讨Struts2、Spring以及Spring与Struts2结合使用时的关键知识点。 ### Struts2框架 Struts2是Apache软件基金会维护的一个开源框架,用于构建企业级Java...

    Struts2框架核心jar包

    Struts2是一个强大的Java web应用程序框架,它基于MVC(Model-View-Controller)设计模式,为开发者提供了构建可维护性、可扩展性极高的Web应用的解决方案。这个"Struts2框架核心jar包"是Struts2框架的核心组件,...

    Struts各种问题解决方案

    下面将详细讨论一些常见的Struts问题及其解决方案。 1. **配置问题**: - **Action配置错误**:确保struts.xml文件中的Action配置正确,包括action名称、result类型、namespace等属性。如果找不到Action,检查是否...

    struts2 经典案例。运行调试通过,代码规范全解析。

    Struts2是一个强大的Java web应用程序框架,它基于Model-View-Controller(MVC)设计模式,为开发者提供了构建可维护性、可扩展性极高的Web应用的解决方案。本案例将全面解析Struts2的核心概念、配置和实际运用,...

    struts2的基础知识及例子大全

    Struts2作为Java Web开发领域的重要框架之一,不仅提供了一套完整的解决方案来构建企业级应用,还具备高度的灵活性和扩展性。通过学习Struts2的基础知识和高级技巧,开发者可以更好地利用这个框架来提升应用的质量和...

    研磨Struts2

    #### 13.2 解决方案 - **Token机制**:每次提交前生成一个唯一的Token,并将其存入session,在提交时进行验证。 - **服务器端控制**:记录每个请求的状态,对于已经处理过的请求不再处理。 ### 知识点十四:整合...

    Struts2+Hibernate实现文件上传

    Struts2和Hibernate是两种非常流行的Java开源框架,它们在Web开发中有着广泛的应用。...这个项目提供了一个完整的文件上传解决方案,涵盖了后端处理和前端展示,对于学习和实践Web开发具有很高的价值。

Global site tag (gtag.js) - Google Analytics