在Eclipse下建立一个Dynamic Web Application。
从struts2.0.6的lib目录中复制下面的库文件到WEB-INF/lib目录下:
commons-logging-1.1.jar
freemarker-2.3.8.jar
ognl-2.6.9.jar
struts-api-2.0.6.jar
struts-core-2.0.6.jar
struts-spring-plugin-2.0.6.jar
xwork-2.0.0.jar
从spring中lib目录中复制下面的库文件到WEB-INF/lib目录下:
spring.jar
修改web.xml,增加一个struts的分派器filter,映射所有的url-pattern,再增加一个spring的ContextLoaderListener监听器。修改后的内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" 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">
<display-name>struts2tutorial</display-name>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
</web-app>
写一个简单的Action,HelloWorld:
package tutorial;
import com.opensymphony.xwork2.ActionSupport;
public class HelloWorld extends ActionSupport {
public static final String MESSAGE = "Struts is up and running ...";
public String execute() throws Exception {
setMessage(MESSAGE);
return SUCCESS;
}
private String message;
public void setMessage(String message){
this.message = message;
}
public String getMessage() {
return message;
}
}
在源文件路径下(项目的src目录)增加struts.xml配置action。这个文件是集成spring的关键所在,这里面描述有如何将spring2集成到struts2的相关信息:
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<!-- 下面这句表明对象是由spring负责产生的.加上这句后,struts会产生让spring负责
产生bean,如果spring不能产生bean,则由struts自己产生.也可以在struts.properties
文件内定义这个属性.-->
<constant name="objectFactory" value="spring"></constant>
<package name="struts2tutoial" extends="struts-default" namespace="/">
<!-- 注意,现在action的class属性不再是类的名字了,而是在spring中的bean的id
详细信息请看下面的spring的bean配置文件applicationContext.xml -->
<action name="HelloWorld" class="helloWorld">
<result>/helloWorld.jsp</result>
</action>
<!-- Add your actions here -->
</package>
</struts>
在WEB-INF/目录下增加spring的bean配置文件applicationContext.xml:
xml 代码
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans>
<bean id="helloWorld" class="tutorial.HelloWorld"></bean>
</beans>
配置很简单,只有一个bean。
最后,在WebContent目录下增加helloWorld.jsp:
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>Hello World!</title>
</head>
<body>
<h2><s:property value="message" /></h2>
</body>
</html>
分享到:
相关推荐
**Spring框架** Spring是一个全面的后端开发框架,涵盖了依赖注入(DI)、面向切面编程(AOP)、事务管理、数据访问/集成以及Web应用等多个方面。在Struts2+Spring整合中,Spring负责业务层对象的管理,提供IOC...
在IT行业中,SSH(Struts + ...通过理解和实践这个项目,开发者不仅可以掌握SSH框架的整合技巧,还能了解如何设计和实现一个简单的Web应用,包括数据库操作、用户交互和事务管理。这将对提升Java Web开发能力大有裨益。
Spring框架则是一个全面的后端解决方案,包括依赖注入(DI)、面向切面编程(AOP)、数据访问、事务管理等多个模块。它能够简化企业级应用的开发,特别是通过DI来解耦组件,使得代码更易于管理和测试。Spring还提供...
在实际开发中,通常会使用Spring的ApplicationContext来加载Struts的配置,实现Struts Action的依赖注入。同时,Spring的AOP能力可以用于实现如日志记录、权限检查等通用功能。Hibernate则通过Spring的DataSource和...
**Struts2** 是一个强大的MVC框架,主要负责处理用户请求和控制业务流程。它提供了丰富的拦截器(Interceptor)机制,支持多种视图技术,并且能够与各种模板引擎如FreeMarker、JSP等无缝集成。Struts2的核心配置文件...
AJAX实现用户登录注册(Struts+Spring+Hibernate+Ajax框架) AJAX实现用户登录注册(Struts+Spring+Hibernate+Ajax框架) AJAX实现用户登录注册(Struts+Spring+Hibernate+Ajax框架)
总结起来,"spring3、struts2、mybatis结合的一个简单web实现"项目展示了如何将这些框架集成到一起,以构建一个完整的Java Web应用。Struts2处理请求,Spring管理业务逻辑和依赖,MyBatis处理数据持久化,而Tiles则...
Spring框架则是一个全面的企业应用框架,提供了依赖注入(DI)、面向切面编程(AOP)、事务管理等核心功能。在SSH整合中,Spring作为业务逻辑的核心,可以管理和调用DAO(数据访问对象),同时负责控制流程的跳转,...
在构建SSH框架时,每个框架都扮演着不同的角色,以提供一个高效、可扩展的后端架构。现在我们来详细了解一下搭建SSH框架过程中,这三个关键组件以及所提及的包的作用。 首先,Struts2作为MVC(模型-视图-控制器)...
Struts、Spring 和 Hibernate 是Java Web开发中的三大框架,它们共同构建了一个强大的后端架构解决方案。这个"struts+spring+hibernate"示例工程是用于演示这三大框架如何协同工作,为开发者提供了一个实战性的学习...
本项目是一个基于Struts2和Spring框架构建的OA(Office Automation System)办公自动化系统。OA系统旨在提升企业内部的工作效率,通过电子化的方式处理日常办公事务,包括文档管理、工作流审批、信息共享等功能。...
3. **整合过程**:整合Struts和Spring时,首先需要在Struts的配置文件(struts-config.xml或struts2的struts.xml)中声明一个Spring插件,这样Struts会将请求转发给Spring来创建和管理Action。然后在Spring的配置...
2. Spring框架:Spring是一个全面的后端开发框架,包括IOC(Inversion of Control)和AOP(Aspect Oriented Programming)等核心特性。IOC容器管理对象的生命周期和依赖关系,使得代码更加松耦合。AOP则允许开发者...
**Spring框架** 是一个全面的企业级应用框架,它提供了事务管理、AOP(面向切面编程)、依赖注入等功能。Spring的IOC(Inversion of Control,控制反转)和DI(Dependency Injection,依赖注入)机制可以帮助开发者...
Spring框架则是一个全面的企业级应用框架,它的核心特性包括依赖注入(DI)和面向切面编程(AOP)。Spring提供了对数据库访问的支持,事务管理,以及与各种Web框架(如Struts)的集成。 将Struts与Spring整合,可以...
Spring框架则是一个全面的后端解决方案,提供了依赖注入(DI)、面向切面编程(AOP)、数据访问、事务管理等功能。在与Struts集成时,Spring通常作为服务层,管理业务对象(BO)和数据访问对象(DAO)。它允许开发者...
1. **Spring与Struts2整合**:Struts2是一个MVC框架,负责处理用户的请求并返回响应。在整合中,Spring负责管理Struts2的Action实例,并可以利用Spring的IoC容器管理Action的依赖关系。 2. **Spring与Mybatis整合**...
Spring框架则是一个全面的企业级应用框架,提供依赖注入(DI)和面向切面编程(AOP),使得组件之间的耦合度降低,提高代码的可测试性和可维护性。在这个登录程序中,Spring可能用于管理Struts的Action实例和其他...
3. **使用Spring动作代理**:通过Spring AOP创建一个代理,将动作管理交给Spring。这种方式完全解耦了Action和Spring,Action只需要定义接口,具体的实现由Spring管理。这是推荐的做法,因为它提供了更好的灵活性...