以下介绍几个配置部分的配置,这几个部分配置好了,也就可以了,先上工程图
一、配置web.xml
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/beans.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
以上主要配置spring为随着服务器启动而自启动,配置struts2过滤器,配置spring配置文件的位置
二、action类代码
public class LoginAction {
LoginService loginService;
public LoginService getLoginService() {
return loginService;
}
public void setLoginService(LoginService loginService) {
this.loginService = loginService;
}
public String execute() throws Exception {
loginService.hello();
return "success";
}
}
LoginService 为要注入的对象,需有set方法
三、spring配置文件beans.xml
<bean id="loginService" class="com.ssh2.serviceimpl.LoginServiceImpl"></bean>
<bean id="login" class="com.ssh2.action.LoginAction" scope="prototype">
<property name="loginService" ref="loginService"/>
</bean>
这里名为login的bean是struts2中的action,由spring负责action的创建,在该action中
设置loginService属性
四、struts2的配置文件
<constant name="struts.objectFactory" value="org.apache.struts2.spring.StrutsSpringObjectFactory" />
<include file="struts-default.xml"></include>
<package name="" extends="struts-default" namespace="/mm">
<action name="login" class="login">
<result name="success">/success.jsp</result>
</action>
</package>
以上指定了对象工厂为StrutsSpringObjectFactory,这样struts2的action就不再又struts2而是由spring
负责产生了
另外action元素中的class属性不再指向其实际的class,而是指向beans.xml中某个action bean的id
测试:http://localhost:8080/SS2H/mm/login.action
这样就完成了两者的整合
另外要注意的是要导入好所需要的jar包,比如struts2的spirng插件包,spring的web包
分享到:
相关推荐
Spring整合Struts2是Web开发领域中常见的技术组合,它结合了Spring的强大 IoC(Inversion of Control,控制反转)和AOP(Aspect Oriented Programming,面向切面编程)功能,以及Struts2的MVC(Model-View-...
在IT行业中,SSH(Spring、Struts2、...总的来说,Spring整合Struts2是一种最佳实践,能够提升企业级应用的开发效率和质量。理解这一整合过程,对于任何想要深入理解和使用SSH框架的开发者来说,都是非常重要的。
- Spring还提供了对其他库的集成,如JDBC、JMS、JTA等,以及对其他框架如Hibernate、Struts2的整合支持。 2. **Hibernate框架**: - Hibernate是一个对象关系映射(Object-Relational Mapping,ORM)框架,它简化...
将Struts2和Spring整合可以充分利用各自的优势,实现更加灵活、高效的应用开发。 整合Struts2和Spring主要涉及以下几个关键步骤: 1. **添加依赖**:首先,需要在项目的构建配置文件(如Maven的pom.xml或Gradle的...
同时,为了集成 Spring,需要配置 Struts2-Spring 插件,这样 Struts2 就能利用 Spring 管理的 Bean。 4. **Action 类**:Action 类通常作为 Struts2 处理请求的入口,它可以从 Spring 容器中注入所需的依赖。通过...
以下是对“Spring集成Struts2环境简单配置”的详细说明: 首先,我们需要在项目中引入Spring和Struts2的依赖库。这通常通过Maven或Gradle等构建工具完成,添加相应的依赖项到项目的pom.xml或build.gradle文件中。...
`struts2-spring-plugin.xml`配置Struts2与Spring的集成,确保Action类由Spring容器管理。`spring-context.xml`中,需要配置数据源、SessionFactory、事务管理器以及各业务层和DAO层的bean。Hibernate的`hibernate....
Spring以其强大的依赖注入(DI)和面向切面编程(AOP)能力,而Struts2则以其优秀的MVC设计模式著称,两者整合可以构建出高效、可维护的Web应用。本教程将深入探讨如何将Spring与Struts2进行整合,以及相关的源码...
在IT行业中,SSH(Spring、Struts2、Hibernate)是一个经典的Java Web开发框架组合,而Redis则是一个高性能的键值存储系统,常用于缓存和数据持久化。将SSH与Redis整合,可以提升应用程序的性能和响应速度。下面将...
5. **整合Struts2的Action**:如果有些Action还需要使用Struts2,可以在Spring的配置文件中定义这些Action类的bean,并在Action类中使用Spring的setter方法注入依赖。 以上两种整合方式各有优缺点。基于Spring-...
总的来说,Spring、Struts2和iBatis的整合为Java Web开发提供了一个强大、灵活的解决方案,让开发者能够更专注于业务逻辑,而不是框架的底层实现。通过合理的配置和使用这个jar包,开发者可以快速构建出稳定、高性能...
整合Spring和Struts 2的主要目的是将Spring的依赖注入和管理能力引入到Struts 2的Action中,以及利用Spring的AOP进行事务管理。整合步骤通常包括以下几个部分: 1. **添加依赖**:在项目中引入Spring和Struts 2的库...
### Spring与Struts的整合:实现灵活的企业级应用开发 在企业级应用开发领域,Spring框架和Struts框架都是极具影响力的技术。Spring以其强大的依赖注入(DI)和面向切面编程(AOP)能力,提供了良好的环境管理和...
使用Spring集成struts2、ibatis、poi实现的增删改查功能,包括采用jquery实现的无刷新查询机分页、dwr实现的两级联动、以及采用poi动态将数据库数据导出成excel,本demo采用mysql数据库,附有建表sql,项目导入...
Spring以其强大的依赖注入(DI)和面向切面编程(AOP)能力,而Struts2则以其优秀的MVC设计模式著称,两者整合可以构建出高效、可维护的Web应用。下面将详细介绍Spring与Struts2整合的相关知识点。 **一、整合背景*...
最后,关于提供的"spring_add"文件,可能是Spring整合Struts2过程中的一个示例或配置文件。它可能包含了Spring的bean定义,或者是在Struts2中使用Spring时需要的特定配置。具体用途需要根据文件内容来解读。 总之,...