1. Struts2的action由Spring来负责进行实例化
Struts.xml
<!-- 指定Struts 2默认的ObjectFactory Bean,该属性默认值是spring -->
<constant name="struts.objectFactory" value="spring"/>
<!-- 该属性指定整合Spring框架时,是否缓存Bean实例,该属性只允许使用true和 false两个属性值,它的默认值是true。通常不建议修改该属性值 -->
<constant name="struts.objectFactory.spring.useClassCache" value="true"/>
<!-- 指定spring框架的装配模式装配方式有: name, type, auto, and constructor (name 是默认装配模式) -->
<constant name="struts.objectFactory.spring.autoWire"
value="name"/>
2. 项目启动时由装载Spring
Web.xml
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
3. 配置多个applicationContext.xml配置文件
applicationContext.xml
/*
* 在com/syy文件夹下以applicationContext开头的xml文件都将被加载进去
*/
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath*:com/syy/applicationContext*.xml
</param-value>
</context-param>
完整配置信息
Struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<!-- 指定Struts 2默认的ObjectFactory Bean,该属性默认值是spring -->
<constant name="struts.objectFactory" value="spring"/>
<!-- 该属性指定整合Spring框架时,是否缓存Bean实例,该属性只允许使用true和false两个属性值,它的默认值是true。通常不建议修改该属性值 -->
<constant name="struts.objectFactory.spring.useClassCache" value="true"/>
<!-- 指定spring框架的装配模式装配方式有: name, type, auto, and constructor (name 是默认装配模式) -->
<constant name="struts.objectFactory.spring.autoWire" value="name"></constant>
<package name="struts2" extends="struts-default">
<action name="teacher" class="com.syy.action.TeacherAction">
<result name="selectAllOK">/WEB-INF/teacher/selectAll.jsp</result>
<result name="insertInputOK">/WEB-INF/teacher/insert.jsp</result>
<result name="getOK">/WEB-INF/teacher/update.jsp</result>
<result name="selectInputOK">/WEB-INF/teacher/selectInput.jsp</result>
<result name="selectOK">/WEB-INF/teacher/select.jsp</result>
</action>
</package>
</struts>
Web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_9" version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
<init-param>
<param-name>actionPackages</param-name>
<param-value>com.syy.action</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath*:com/syy/applicationContext*.xml
</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
</web-app>
分享到:
相关推荐
4. **模型驱动**:Spring的ModelAndView对象可以用来封装视图和模型数据,这与Struts的ActionForward和ActionForm有异曲同工之妙,但更为灵活。 5. **国际化**:Spring的MessageSource接口可以与Struts的国际化策略...
《Spring与Struts整合:深入理解org.springframework.web.struts-sources-3.0.4.RELEASE.jar》 在Java Web开发领域,Spring框架以其强大的依赖注入和面向切面编程能力,而Struts则以其优秀的MVC架构模式,共同构建...
在与Spring结合使用时,Struts2可以处理用户请求,将这些请求映射到特定的Action类,然后通过Spring来管理Action类及其依赖。 以下是搭建Spring-Struts2项目环境的步骤: 1. **创建项目结构**:首先,我们需要创建...
5. **拦截器集成**:可以使用Spring的AOP拦截器与Struts 2的拦截器相结合,增强应用的功能。 6. **测试与调试**:整合完成后,进行单元测试和集成测试,确保所有组件协同工作。 整合Spring和Struts 2可以使开发...
4. 在Struts2的配置文件中定义Action,处理与任务调度相关的请求,并调用Spring管理的Job。 5. 编写相应的Struts2视图层,展示任务列表、启动/停止任务等操作的界面。 6. 测试整合后的系统,确保任务能正确调度并...
本资源包含五个主流的Java Web框架的最新版本:Hibernate 5.3.1、MyBatis 3.4.6、Spring Framework 5.0.7、Struts2 2.5.16。下面将分别介绍这些框架的核心功能和使用方法。 **1. Hibernate 5.3.1** Hibernate 是一...
Spring以其强大的依赖注入(DI)和面向切面编程(AOP)能力,而Struts2则以其优秀的MVC设计模式著称,两者结合可以构建出高效、可维护的Web应用。本文将基于"spring+struts2整合源码"的标题和描述,详细讲解Spring和...
在Spring与Struts2集成的过程中,Spring负责Action的实例化。在`struts.xml`配置文件中,我们需要设置`struts.objectFactory`属性为`spring`,这表明我们希望Struts2使用Spring作为ObjectFactory。例如: ```xml ...
4. **Spring**:Spring框架是Java企业级应用的事实标准,它不仅包含了对Web开发的支持,还有强大的依赖注入(DI)和面向切面编程(AOP)功能。Spring MVC是Spring框架的一部分,提供了一个用于构建Web应用的模型-...
4. Spring:Spring框架是Java企业级应用开发的事实标准,它提供了一个全面的应用程序开发框架,支持依赖注入(DI)和面向切面编程(AOP)。Spring的核心包括IoC容器、数据访问/集成、Web、测试等多个模块,可以轻松...
4. 在Struts2 Action类中声明Spring注解(例如`@Autowired`),或者通过`@Inject`来注入依赖。 5. 设置Struts2和Spring的配置文件路径,确保它们在启动时被加载。 集成Spring和Struts2的好处在于,Spring可以帮助...
Spring 和 Struts2 是两种非常流行的 Java Web 开发框架,它们在企业级应用开发中有着广泛的应用。Spring 提供了全面的依赖注入(DI)和面向切面编程(AOP)功能,而 Struts2 则是用于构建 MVC(Model-View-...
在IT行业中,SSH(Spring、Struts2、Hibernate)是一个经典的Java Web开发框架组合,而Redis则是一个高性能的键值存储系统,常用于缓存和数据持久化。将SSH与Redis整合,可以提升应用程序的性能和响应速度。下面将...
4. **Spring**:Spring是一个全面的企业级应用开发框架,其核心特性包括依赖注入(DI)和面向切面编程(AOP)。Spring MVC是Spring框架的一部分,提供了一个用于构建Web应用的模型-视图-控制器架构。此外,Spring还...
Spring提供了全面的结构化和依赖注入功能,Struts2则是一个强大的MVC(Model-View-Controller)框架,而MyBatis则是一个优秀的持久层框架,实现了SQL与Java代码的解耦。当这三者结合使用时,可以构建出高效、可维护...
4. **Spring Security整合**:如果需要实现权限控制,可以使用Spring Security,它能够与Struts2很好地集成,实现用户的认证和授权。 5. **Spring AOP与Struts拦截器**:两者的拦截机制可以结合使用,提供更丰富的...
同时,Spring4的Spring MVC模块可以与Struts2结合使用,提供另一种MVC实现方式,以应对更复杂的应用场景。 Hibernate则是一个强大的对象关系映射(ORM)框架,它简化了Java应用程序对数据库的操作。在电子商务系统...