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>
分享到:
相关推荐
5. **拦截器集成**:可以使用Spring的AOP拦截器与Struts 2的拦截器相结合,增强应用的功能。 6. **测试与调试**:整合完成后,进行单元测试和集成测试,确保所有组件协同工作。 整合Spring和Struts 2可以使开发...
尽管标题和描述中的重复信息可能是一个错误,但我们可以深入探讨Struts2、Spring以及Spring与Struts2结合使用时的关键知识点。 ### Struts2框架 Struts2是Apache软件基金会维护的一个开源框架,用于构建企业级Java...
通常,Spring与Struts2结合时,会利用Spring的JdbcTemplate或者MyBatis等ORM(Object-Relational Mapping)框架来处理数据库交互。这些工具能简化SQL语句的编写,使得代码更加整洁。在这个系统中,可能有一个名为...
在 Spring 和 Struts2 结合使用时,通常会使用 Struts2 作为前端控制器,负责接收和处理 HTTP 请求,然后通过 Spring 的 DI 功能来管理和调度业务逻辑层的对象。Spring 可以作为服务层的容器,管理 DAO(数据访问...
Struts2与Spring的整合使得我们可以直接在Spring容器中声明和管理Action,实现请求的转发和结果的渲染。 接着,MyBatis是数据库操作的利器,它允许开发者直接编写SQL语句,将SQL与Java代码紧密结合,避免了...
Spring以其强大的依赖注入(DI)和面向切面编程(AOP)能力,而Struts2则以其优秀的MVC设计模式著称,两者结合可以构建出高效、可维护的Web应用。本文将基于"spring+struts2整合源码"的标题和描述,详细讲解Spring和...
在IT行业中,SSH(Spring、Struts2、Hibernate)是一个经典的Java Web开发框架组合,而Redis则是一个高性能的键值存储系统,常用于缓存和数据持久化。将SSH与Redis整合,可以提升应用程序的性能和响应速度。下面将...
Spring与Struts2结合使用时,可以提供更强大的业务逻辑处理和数据访问控制,同时Spring的DI可以帮助解耦组件,提高代码的可测试性。 **Hibernate** 是一个对象关系映射(ORM)框架,它允许开发者使用Java对象来操作...
在Java Web开发中,Spring和Struts2是两个非常重要的框架。Spring以其强大的依赖注入(DI)和面向切面编程(AOP)能力,而Struts2则是一款优秀的MVC框架,提供了良好的动作控制和视图展示。将两者集成可以构建出功能...
在Java开发中,分页是常见的数据展示方式,特别是在Web应用程序中,如Spring与Struts2结合的项目。本项目示例旨在演示如何在这样的环境中实现分页功能。以下是关于"Java分页(用的是spring + struts2)"的相关知识点...
Struts2与Spring的集成使得我们可以利用Spring的IoC容器管理Struts2中的Action类,进一步降低了耦合度。 MyBatis是一个持久层框架,它简化了SQL操作,将SQL语句与Java代码分离,提供了映射框架,使得开发者可以直接...
同时,Spring与Struts2可以通过Spring-Struts2插件无缝集成,使得Action可以直接由Spring管理,增强了系统的可测试性。 **MyBatis** 是一个轻量级的持久层框架,它将SQL语句与Java代码分离,提供了更灵活的SQL操作...
MyBatis与Spring的结合使用,可以实现数据访问对象(DAO)的自动管理,使得事务处理更加灵活,同时避免了传统的JDBC代码繁琐。 在实际开发中,"spring+struts2+mybatis的jar包"可能包含了这三个框架的核心库和其他...
在与Spring结合使用时,Struts2可以处理用户请求,将这些请求映射到特定的Action类,然后通过Spring来管理Action类及其依赖。 以下是搭建Spring-Struts2项目环境的步骤: 1. **创建项目结构**:首先,我们需要创建...
《Spring、Struts2与MyBatis整合应用详解》 在现代Java Web开发中,Spring、Struts2和MyBatis是三个非常重要的框架。它们分别在依赖注入、MVC架构和持久层操作方面提供了强大的支持。这个名为"spring_struts2_...
在IT行业中,Spring和Struts都是非常著名的Java Web框架...这只是一个基础的集成方法,实际上还有其他的集成方式,如使用Spring MVC替代Struts,或者结合其他框架如Hibernate进行数据持久化操作,进一步优化应用架构。
Spring与Struts2结合,可以形成强大的后端架构,支持MVC模式的Web应用开发。 **Mybatis** Mybatis是一个轻量级的持久层框架,它解决了Java与数据库交互的复杂性。Mybatis将SQL语句与Java代码分离,允许开发者编写...