如果你是spring+struts2的框架组合就可能出现下图的问题,点击多次提交按钮居然出现多条相同的后台错误消息
这个问题想来很纠结,把配置文件和jsp都查了个遍也没找到原因,后来突然想到spring才恍然大悟。
因为struts是交给spring管理了,所以需要配置对应的bean:
<bean id="backLoginActionBean" class="com.bless.notepad.action.back.LoginAction">
<property name="loginService" ref="loginServiceBean"></property>
</bean>
记住,spring控制的对象默认是单例的,所以LoginAction也是单例的,这里需要配置一个属性scope="prototype"表示一个线程一个实例,这样就不会出现上面的问题了。
<bean id="backLoginActionBean" class="com.bless.notepad.action.back.LoginAction" scope="prototype">
<property name="loginService" ref="loginServiceBean"></property>
</bean>
- 大小: 16.1 KB
分享到:
相关推荐
- **ValidatorConfig**:配置文件(如struts-validator.xml或struts-config.xml)定义了验证规则和错误消息。 - **Validation.xml**:每个ActionForm对应的验证规则配置文件,用于指定哪些字段需要验证以及验证...
Struts2是一个流行的Java web框架,它...总的来说,Struts2的令牌机制是通过生成和验证令牌来防止重复提交和CSRF攻击的有效方式。开发者应当理解其工作原理,并在需要的地方正确使用,以提高应用程序的安全性和稳定性。
通过这些知识点,我们可以了解到"Struts2 demo2"可能涵盖了Struts2的核心特性,如Action配置、数据校验、类型转换、OGNL表达式、防止重复提交和自定义标签库的使用。这些内容对于理解和实践Java web开发中的MVC模式...
通过Struts2的拦截器机制,我们可以实现登录验证、权限控制等功能。 Spring框架则是一个全面的企业级应用框架,它提供了依赖注入(DI)和面向切面编程(AOP)等核心特性。在登录注册系统中,Spring可以用来管理Bean...
Struts7验证框架是用于Java Web开发中的一个关键组件,主要负责处理用户输入数据的验证。这个框架在学习和实际项目开发中具有广泛的应用,因为它能够有效地提高代码的可维护性和减少开发工作量。 传统的Struts框架...
在这个"struts2实现的简单登陆 附加拦截器防止重复提交"的项目中,我们将深入探讨Struts2如何处理用户登录以及如何通过拦截器来防止重复提交的问题。 首先,我们来理解一下Struts2的核心概念。Struts2框架基于...
2. **Interceptor(拦截器)**:Struts2的拦截器机制使得我们可以添加自定义的处理逻辑,比如日志记录、权限验证等,而不必在每个Action中重复编写这些代码。在这个图书管理项目中,可能就用到了拦截器来实现登录...
Struts验证框架是Java Web开发中的一个重要组成部分,主要用于在用户输入数据时进行验证,确保数据的完整性和正确性。这个框架结合了MVC(Model-View-Controller)设计模式,帮助开发者实现业务逻辑与表现层的分离,...
5. **验证用户输入**: 当用户提交表单时,Struts2会调用另一个Action来验证用户输入的验证码是否与session中的值匹配。如果匹配,验证成功;如果不匹配,提示用户重新输入。 6. **安全考虑**: 为了增加安全性,...
10.1.2 Struts 2工作流中的验证框架 219 10.2 将动作关联到验证框架 222 10.2.1 使用ActionClass-validations.xml声明验证元数据 223 10.2.2 研究内建的验证器 226 10.3 编写自定义验证器 227 10.3.1 检查密码强度的...
- `jar包`:可能包含了Struts2框架和其他依赖库。 这个入门级的小示例可以帮助初学者理解如何在实际项目中结合Struts2和Ajax来实现动态的用户交互,同时也可以作为进一步学习Web开发的基础。通过分析和运行这个示例...
- JCaptcha4Struts2通常会处理验证码的生成和验证,但你可能还需要自定义一些逻辑,比如设置验证码的过期时间或处理用户多次尝试验证失败的情况。 通过以上步骤,你就可以在Struts2项目中成功集成并使用JCaptcha4...
如果验证失败,Struts会将错误信息添加到ActionErrors集合中,并通过RequestContext传递给JSP页面显示。开发者可以自定义错误提示信息,提高用户体验。 5. **动态验证** 验证框架还支持动态验证,即根据不同的...
"ajax+jQuery+struts2验证用户名是否重复"的实现过程涉及到了几个关键的技术点,主要包括Ajax、jQuery和Struts2框架。下面将详细阐述这些技术及其在实际操作中的应用。 **1. Ajax(异步JavaScript和XML)** Ajax是...
- **拦截器**:Struts2的核心之一,通过拦截器可以实现诸如文件上传、输入验证等功能。 - **处理与分配流程**: - **前端请求**:用户发起的HTTP请求。 - **StrutsPrepareAndExecuteFilter**:处理请求的第一道...
3. **表单验证**:Struts2提供了强大的表单验证机制,可以在Action类中通过注解或配置文件进行校验。对于登录,验证用户名和密码的非空;对于注册,可能需要验证用户名的唯一性,密码的复杂度等。 4. **结果类型与...
在Web应用程序开发过程中,为了防止重复提交表单或CSRF(跨站请求伪造)等安全问题,Struts2框架提供了一种名为“令牌”的机制。该机制通过在用户会话中存储一个随机生成的唯一值,并在表单提交时验证该值是否有效来...
在实际项目中,Struts2可以处理类型转换、文件上传下载、拦截器(Interceptor)防止重复提交等问题。Interceptor是Struts2中的重要特性,它允许在Action执行前后插入额外的处理逻辑,如登录验证、日志记录等。深入...