接上文Spring IBatis Struts2 集成之二,
本篇写Spring与Struts2的集成。集成Spring Struts2 的整个过程如下:
- 引入所有需要的*.jar文件。
- 配置web.xml。
- 配置struts2的配置文件struts.xml。
- 编写Action类及jsp页面。
- 测试。
一、所需类库 | Required jar list
c3p0-0.9.1.2.jar // 连接池实现类库
commons-logging-1.0.4.jar
ibatis-2.3.4.726.jar
log4j-1.2.15.jar
ojdbc14-10g.jar // Oracle JDBC驱动类库
spring-2.5.6.jar
spring-test.jar // 单元测试需要用到的类库
junit-4.4.jar // 单元测试需要用到的类库
-----------------------------------------------------------------在原来的基础上再增加如下类库(*.jar)
commons-beanutils-1.8.3.jar
commons-collections-3.2.jar
commons-fileupload-1.2.1.jar
commons-io-1.3.2.jar
freemarker-2.3.15.jar
struts2-core-2.1.8.1.jar // Struts2核心类库
xwork-core-2.1.6.jar // Struts2核心类库
struts2-spring-plugin-2.1.8.1.jar // Spring与Struts2集成插件类库
二、配置web.xml | How to configure web.xml
1、在web.xml中增加如下内容:
<!-- 字符编码过滤器 -->
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
<!-- Struts2过滤器 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
<init-param>
<param-name>actionPackages</param-name>
<param-value>
cn.aofeng.sis.action
</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
三、配置Struts2 | How to configure struts2
1、在src/main/resouces 目录下建立struts.xml,其内容如下:
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.locale" value="zh_CN" />
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
<constant name="struts.devMode" value="true" />
<constant name="struts.action.extension" value="do" />
<constant name="struts.configuration.xml.reload" value="false" />
<!-- 将Struts2对象管理交给Spring -->
<constant name="struts.objectFactory" value="spring" />
<package name="default" namespace="/" extends="struts-default">
<action name="hello" class="cn.aofeng.sis.action.HelloWorldAction">
<result name="view" type="dispatcher">
<param name="location">/WEB-INF/views/helloworld.jsp</param>
</result>
</action>
</package>
</struts>
四、编写Action类及jsp页面 | Create Action class and jsp page
1、在src/main/java 目录下建立 cn.aofeng.sis.action.HelloWorldAction类,其内容如下:
/** * 建立时间:2011-3-22 */ package cn.aofeng.sis.action;
import javax.annotation.Resource;
import org.springframework.stereotype.Controller;
import cn.aofeng.sis.dao.UserDAO; import cn.aofeng.sis.domain.User;
import com.opensymphony.xwork2.ActionSupport;
/** * HelloWorld. * * @author 傲风 <a href="mailto:aofengblog@163.com">aofengblog@163.com</a> */ @Controller public class HelloWorldAction extends ActionSupport {
private static final long serialVersionUID = 2828670087037313586L;
@Resource(name="userDAO") private UserDAO _userDao; private User _user; public String input() throws Exception { return "view"; } public String execute() throws Exception { _user = _userDao.selectByUserId(_user.getUserId()); return "view"; }
public User getUser() { return _user; }
public void setUser(User user) { this._user = user; }
} |
2、在/WEB-INF/views 目录下建立 helloworld.jsp文件,其内容如下:
<?xml version="1.0" encoding="UTF-8" ?>
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>SpringStruts2集成</title>
</head>
<body>
<form method="post" action="hello.do">
用户ID:<input type="text" name="user.userId" />
<br/>
<input type="submit" />
<br/>
<br/>
<table width="100%" border="1">
<tr>
<th>账号</th>
<th>建立时间</th>
<th>最近登录时间</th>
</tr>
<tr>
<td><s:property value="user.userName" /></td>
<td><s:property value="user.createTime" /></td>
<td><s:property value="user.lastLoginTime" /></td>
</tr>
</table>
</form>
</body>
</html>
3、项目代码完整结构如下图:
五、测试 | Test
1、将项目部署至Tomcat并启动,在浏览器中输入URL:http://localhost:8080/sis/hello!input.do(
执行input()方法),结果如下图所示:
2、输入用户ID,提交查询(
执行execute()方法),结果如下图所示:
至此,完成Spring与Struts2的集成。
分享到:
相关推荐
Spring还提供了对Web应用的支持,如Spring MVC,与Struts集成时可提供更灵活的控制层实现。 **Struts框架**: Struts 2.1.6是基于Model-View-Controller(MVC)设计模式的Java Web框架。它提供了一种结构化的方式来...
本文将深入探讨如何利用Ibatis实现一对多关系、批处理、事务管理和与Spring及Struts2的集成。 首先,让我们来看一下“一对多”关系。在数据库设计中,一对多关系很常见,比如一个用户可以有多个订单。在Ibatis中,...
这个“spring3 ibatis struts2 搭建的简单项目”就是一个利用这三个框架进行集成开发的例子,主要目的是为了教学和学习。 首先,Spring框架是企业级应用开发的基石,它提供了全面的编程和配置模型,用于简化Java...
Spring、Struts2和iBatis是Java Web开发中的三个重要框架,它们分别负责不同的职责。Spring是一个全面的后端应用程序框架,提供了依赖注入(DI)和面向切面编程(AOP)等功能;Struts2则是一个MVC(模型-视图-控制器...
在这个“struts2+spring3+ibatis项目整合案例”中,我们将深入探讨这三个框架如何相互配合,实现项目的集成。 Struts2作为MVC(Model-View-Controller)架构的实现,主要负责处理用户请求,控制应用的流程。它提供...
在"ssi_jar"这个压缩包中,可能包含了这三个框架的库文件,例如struts2相关的jar包(如struts2-core、struts2-convention等)、Spring的核心库(如spring-context、spring-web等)以及iBatis的库文件(如ibatis-3-...
Struts2+Spring+Hibernate和Struts2+Spring+Ibatis是两种常见的Java Web应用程序集成框架,它们分别基于ORM框架Hibernate和轻量级数据访问框架Ibatis。这两种框架结合Spring,旨在提供一个强大的、可扩展的、易于...
Struts2、Spring和iBatis是Java Web开发中三个非常重要的开源框架,它们的集成应用,即SSI2(Struts2 + Spring + iBatis)整合,是构建企业级应用的常见方式。这个"struts2+spring+ibatis做的增删改查的小例子"是一...
Struts2、Spring和iBatis是Java Web开发中常用的三个框架,它们分别负责MVC模式中的Action层、业务逻辑层以及数据访问层。将这三个框架整合在一起,可以构建出高效、灵活的企业级应用。 **Struts2** 是一个基于MVC...
Struts1.2、Spring2和iBatis是经典的Java Web开发框架...总之,"struts1.2 spring2 ibatis 集成项目实战源码"是一个宝贵的教育资源,通过研究这个项目,开发者能够深入理解三大框架的集成应用,提升Java Web开发能力。
加快了开发速度,但是也有一些不足之处,比如由于三种框架的配置文件较多,也给我们带来了一些不便,特别是对于较小的应用来说更是如此,本文主要是对Strtus2、Spring、iBatis三个开源框架进行一个集成
总的来说,Spring+Struts2+iBatis组合提供了完整的Web应用程序开发框架,Spring作为核心管理组件,Struts2负责MVC的路由和控制,而iBatis则处理与数据库的交互,这三者协同工作,使得开发者能够高效、灵活地构建复杂...
"ibatis+spring+struts2 整合开发例子"就是一个典型的Java Web应用集成开发案例,旨在帮助开发者理解和掌握这三大框架的协同工作原理。接下来,我们将详细讨论这三个组件以及它们的整合过程。 Ibatis是一个轻量级的...
Struts2、Spring和iBatis是Java Web开发中常用的三大框架,它们分别负责MVC模式中的Action层、业务逻辑层和服务数据访问层。这个压缩包文件提供的是一种经典的整合使用这三个框架的案例,用于实现一个基础的CRUD...
在Spring中,Struts2和iBatis可以通过Spring的Bean管理来实现无缝集成。 **Struts2 框架** Struts2 是Struts1的下一代产品,基于MVC设计模式,提供了一种更灵活的请求处理方式。它通过拦截器链来处理请求,可以...
Struts2、Spring和iBatis是Java Web开发中常用的三大框架,它们分别负责MVC模式中的动作控制、依赖注入及持久层操作。本项目整合了这三个框架,并使用MySQL作为数据库,实现了一个基础的用户登录注册查询删除的功能...
- lib:存放项目所需的第三方库,如Spring、Struts2、iBatis和ExtJS的jar包。 整合SSM框架需要正确配置各个框架的配置文件,确保它们之间能够协同工作。例如,Spring需要配置Bean定义,Struts2需要配置Action和...
这三个框架分别是:Ibatis(一个轻量级的持久层框架),Spring(一个全面的企业级应用开发框架),以及Struts(一个用于构建MVC(Model-View-Controller)架构的Java Web框架)。接下来,我们将深入探讨这三个框架的...
Struts2、Spring和iBatis是Java Web开发中非常重要的三个框架,它们分别负责MVC模式中的Action层、业务逻辑层以及数据访问层。这三个框架的整合可以提供一个高效且灵活的开发环境,帮助开发者构建出结构清晰、易于...
《Spring3+Struts2+Ibatis:企业级应用开发框架整合详解》 在现代企业级Web应用开发中,Spring、Struts2和Ibatis是常见的三大组件,它们各自负责不同的职责,共同构建出高效、灵活的应用架构。Spring作为全能型的...