在"struts2学习笔记-Action的配置及基础应用和原理"篇学习笔记中的动态方法调用部分曾经提到过一个安全问题,其原文:
For Struts 2, we added a switch to disable DMI for two reasons. First, DMI can cause security issues if POJO actions are used. Second, DMI overlaps with the Wildcard Method feature that we brought over from Struts 1 (and from Cocoon before that). If you have security concerns, or would like to use the "!" character with Wildcard Method actions, then set struts.enable.DynamicMethodInvocation to FALSE in the application configuration.
昨天在进行struts2和Spring2整合的过程中也发现一个问题,就是当把Struts2的action交给Spring进行管理时,
发现当在Struts2中通过配置逻辑action调用同一个action类中的不同方法时,出现一旦给一个action中的类变量赋值后,在下次调用同一个action中的另外一个方法时,该变量的值仍然存在,action类并没有被重新实例化,后来经过不断的日志分析和测试,发现问题竟然出现在Spring对Action的配置管理上,将Spring中的Action配置改为如下:
<bean id="SysUserAction" class="com.web.actions.SysUserAction" scope="prototype">
<property name="boSYS_USER" ref="IBoSYS_USER"/>
</bean>
重新部署运行,K,问题终于解决了,真弱智!只顾着去怪Struts2,居然忘记Spring了,看来以后查问题还得先好好分析确定问题的边界,不能太盲目...
分享到:
相关推荐
Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们各自解决应用程序的不同问题,而将这三者整合在一起可以构建高效、灵活的企业级应用。Struts2作为MVC(Model-View-Controller)框架,负责处理用户请求...
1. **Struts2和Spring3的整合原理** - **Struts2**:主要负责处理HTTP请求,通过Action映射到业务逻辑,返回结果视图。Struts2支持基于XML的配置和注解方式定义Action。 - **Spring3**:提供了强大的DI和AOP功能,...
整合Struts2和Spring2的主要目标是将Spring的DI功能引入到Struts2的Action类中,使得Action类的依赖可以在Spring容器中被管理。这样,Action类不再需要自行创建依赖对象,而是通过Spring来获取,增强了代码的可维护...
将Struts2和Spring整合可以充分利用各自的优势,实现更加灵活、高效的应用开发。 整合Struts2和Spring主要涉及以下几个关键步骤: 1. **添加依赖**:首先,需要在项目的构建配置文件(如Maven的pom.xml或Gradle的...
整合使用最新版本的三大框架(即Struts2、Spring4和Hibernate4),搭建项目架构原型。 项目架构原型:Struts2.3.16 + Spring4.1.1 + Hibernate4.3.6。 此外,还有:log4j、slf4j、junit4、ehcache等知识点。 项目...
4. **整合Struts2和Spring**:使用Struts2的Spring插件,将Spring管理的Bean注入到Struts2的Action中,通常通过`<struts-plugin>`标签进行配置。 5. **配置Struts2**:创建Struts2的配置文件(struts.xml),定义...
Struts2整合Spring和JPA是企业级Java应用开发中常见的技术组合,它们分别负责不同的职责:Struts2作为一款成熟的MVC框架,主要用于处理Web层的请求与响应;Spring作为一个全面的轻量级框架,提供了依赖注入(DI)和...
7. **SSTest**:这个文件可能是项目的主要测试类或测试目录,包含了对整合后的Struts2和Spring2框架进行验证的代码。测试通常包括Action类的各个方法,以及Spring服务的调用。 通过以上知识点,我们可以理解Struts2...
通过Struts2、Spring和iBatis的整合,我们可以实现模型、视图和控制的分离,提高代码的可读性和可维护性。同时,Spring的DI和AOP特性使得对象管理更加灵活,iBatis则提供了方便的数据库操作方式。这样的组合在企业级...
Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们各自在应用程序的不同层面发挥着重要作用。Struts2作为MVC(模型-视图-控制器)框架,负责处理请求和展示视图;Spring是一个全面的后端解决方案,提供...
struts2、spring、ibatis整合实例 struts2、spring、ibatis整合实例 struts2、spring、ibatis整合实例 struts2、spring、ibatis整合实例
本项目“学生成绩管理系统”就是基于Struts2、Spring和Hibernate三大主流Java Web框架进行整合的一个实例。这样的整合能够充分利用各框架的优势,实现模型-视图-控制器(MVC)架构,提供数据持久化、业务逻辑处理...
**Struts2和Spring整合** 整合Struts2和Spring的主要目标是利用两者的优点,创建一个更强大的MVC应用。整合步骤通常包括: 1. **配置Spring**:创建Spring的ApplicationContext配置文件,定义Bean及其依赖。 2. **...
通过整合Struts2、Spring与Hibernate,学生成绩管理系统不仅实现了基本的登录、学生信息和成绩管理功能,还通过分页技术增强了用户体验。更重要的是,这一整合展示了如何利用现代Java EE框架构建复杂企业级应用的...
Struts2和MyBatis的配置信息通常会整合到Spring的配置文件中,以实现整体的统一管理和控制。 项目结构通常如下: - src/main/java:存放业务逻辑类、DAO接口及实现、Struts2 Action类。 - src/main/resources:存放...
5. **整合Struts2和Spring**:在struts.xml中配置Struts2-Spring插件,使Action类成为Spring的Bean。 6. **整合Spring和Hibernate**:在Spring配置文件中配置SessionFactory,注入Hibernate的相关配置。 7. **测试...
《轻量级Java EE企业应用实战——Struts 2+Spring+Hibernate整合开发电子书1》是一本专注于Java EE企业级应用开发的书籍,主要涵盖了Struts 2、Spring和Hibernate这三个流行开源框架的整合应用。这本书对于Java...
在SSH整合中,Spring通常用来管理Struts2和Hibernate的bean实例,实现依赖注入,降低组件之间的耦合度。此外,Spring的事务管理功能能够统一管理数据库操作,确保数据的一致性。 Hibernate是持久层框架,它简化了...
【描述】:“这是一个将Hibernate、Struts2和Spring三大框架集成在一起的项目示例。它展示了如何在实际开发中有效地结合这三个强大的Java技术,实现数据持久层、业务逻辑层和表示层的无缝协作。” 【详细知识点】:...