`
shenxiaolei
  • 浏览: 13559 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

Spring IBatis Struts2 集成之三

阅读更多

接上文Spring IBatis Struts2 集成之二

本篇写Spring与Struts2的集成。集成Spring  Struts2 的整个过程如下:

  1. 引入所有需要的*.jar文件。
  2. 配置web.xml。
  3. 配置struts2的配置文件struts.xml。
  4. 编写Action类及jsp页面。
  5. 测试。

 

一、所需类库 | 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、项目代码完整结构如下图:

Spring IBatis Struts2 集成之二:Spring与Struts2集成 | Spring IBatis Struts2 Integration II: Spring Integrates with Struts2 - 傲风 - 宝剑锋从磨砺出 梅花香自苦寒来
 

五、测试 | Test

1、将项目部署至Tomcat并启动,在浏览器中输入URL:http://localhost:8080/sis/hello!input.do(执行input()方法),结果如下图所示:
Spring IBatis Struts2 集成之二:Spring与Struts2集成 | Spring IBatis Struts2 Integration II: Spring Integrates with Struts2 - 傲风 - 宝剑锋从磨砺出 梅花香自苦寒来
 
2、输入用户ID,提交查询(执行execute()方法),结果如下图所示:
Spring IBatis Struts2 集成之二:Spring与Struts2集成 | Spring IBatis Struts2 Integration II: Spring Integrates with Struts2 - 傲风 - 宝剑锋从磨砺出 梅花香自苦寒来
 
 至此,完成Spring与Struts2的集成。

分享到:
评论

相关推荐

    Spring struts ibatis Mysql 集成

    Spring还提供了对Web应用的支持,如Spring MVC,与Struts集成时可提供更灵活的控制层实现。 **Struts框架**: Struts 2.1.6是基于Model-View-Controller(MVC)设计模式的Java Web框架。它提供了一种结构化的方式来...

    ibatis 完美例子 一对多 批处理 事务 和 spring struts2集成

    本文将深入探讨如何利用Ibatis实现一对多关系、批处理、事务管理和与Spring及Struts2的集成。 首先,让我们来看一下“一对多”关系。在数据库设计中,一对多关系很常见,比如一个用户可以有多个订单。在Ibatis中,...

    spring3 ibatis struts2 搭建的简单项目

    这个“spring3 ibatis struts2 搭建的简单项目”就是一个利用这三个框架进行集成开发的例子,主要目的是为了教学和学习。 首先,Spring框架是企业级应用开发的基石,它提供了全面的编程和配置模型,用于简化Java...

    Spring+Struts2+Ibatis

    Spring、Struts2和iBatis是Java Web开发中的三个重要框架,它们分别负责不同的职责。Spring是一个全面的后端应用程序框架,提供了依赖注入(DI)和面向切面编程(AOP)等功能;Struts2则是一个MVC(模型-视图-控制器...

    struts2+spring3+ibatis项目整合案例

    在这个“struts2+spring3+ibatis项目整合案例”中,我们将深入探讨这三个框架如何相互配合,实现项目的集成。 Struts2作为MVC(Model-View-Controller)架构的实现,主要负责处理用户请求,控制应用的流程。它提供...

    struts2+spring+Ibatis框架包

    在"ssi_jar"这个压缩包中,可能包含了这三个框架的库文件,例如struts2相关的jar包(如struts2-core、struts2-convention等)、Spring的核心库(如spring-context、spring-web等)以及iBatis的库文件(如ibatis-3-...

    Struts2+Spring+Hibernate和Struts2+Spring+Ibatis

    Struts2+Spring+Hibernate和Struts2+Spring+Ibatis是两种常见的Java Web应用程序集成框架,它们分别基于ORM框架Hibernate和轻量级数据访问框架Ibatis。这两种框架结合Spring,旨在提供一个强大的、可扩展的、易于...

    struts2+spring+ibatis做的增删改查的小例子

    Struts2、Spring和iBatis是Java Web开发中三个非常重要的开源框架,它们的集成应用,即SSI2(Struts2 + Spring + iBatis)整合,是构建企业级应用的常见方式。这个"struts2+spring+ibatis做的增删改查的小例子"是一...

    struts2 spring ibatis 整合架构

    Struts2、Spring和iBatis是Java Web开发中常用的三个框架,它们分别负责MVC模式中的Action层、业务逻辑层以及数据访问层。将这三个框架整合在一起,可以构建出高效、灵活的企业级应用。 **Struts2** 是一个基于MVC...

    struts1.2 spring2 ibatis 集成项目实战源码

    Struts1.2、Spring2和iBatis是经典的Java Web开发框架...总之,"struts1.2 spring2 ibatis 集成项目实战源码"是一个宝贵的教育资源,通过研究这个项目,开发者能够深入理解三大框架的集成应用,提升Java Web开发能力。

    SSI(Struts2,Spring,Ibatis)集成实现用户增删改查

    加快了开发速度,但是也有一些不足之处,比如由于三种框架的配置文件较多,也给我们带来了一些不便,特别是对于较小的应用来说更是如此,本文主要是对Strtus2、Spring、iBatis三个开源框架进行一个集成

    Spring+Struts2+iBatis简要说明

    总的来说,Spring+Struts2+iBatis组合提供了完整的Web应用程序开发框架,Spring作为核心管理组件,Struts2负责MVC的路由和控制,而iBatis则处理与数据库的交互,这三者协同工作,使得开发者能够高效、灵活地构建复杂...

    ibatis+spring+struts2 整合开发例子

    "ibatis+spring+struts2 整合开发例子"就是一个典型的Java Web应用集成开发案例,旨在帮助开发者理解和掌握这三大框架的协同工作原理。接下来,我们将详细讨论这三个组件以及它们的整合过程。 Ibatis是一个轻量级的...

    struts2+spring+ibatis增删改查

    Struts2、Spring和iBatis是Java Web开发中常用的三大框架,它们分别负责MVC模式中的Action层、业务逻辑层和服务数据访问层。这个压缩包文件提供的是一种经典的整合使用这三个框架的案例,用于实现一个基础的CRUD...

    Spring+Struts2+Ibatis整合例子

    在Spring中,Struts2和iBatis可以通过Spring的Bean管理来实现无缝集成。 **Struts2 框架** Struts2 是Struts1的下一代产品,基于MVC设计模式,提供了一种更灵活的请求处理方式。它通过拦截器链来处理请求,可以...

    Struts2 Spring Ibatis mysql 项目整合

    Struts2、Spring和iBatis是Java Web开发中常用的三大框架,它们分别负责MVC模式中的动作控制、依赖注入及持久层操作。本项目整合了这三个框架,并使用MySQL作为数据库,实现了一个基础的用户登录注册查询删除的功能...

    spring+struts+ibatis

    - lib:存放项目所需的第三方库,如Spring、Struts2、iBatis和ExtJS的jar包。 整合SSM框架需要正确配置各个框架的配置文件,确保它们之间能够协同工作。例如,Spring需要配置Bean定义,Struts2需要配置Action和...

    ibatis spring struts 整合案例

    这三个框架分别是:Ibatis(一个轻量级的持久层框架),Spring(一个全面的企业级应用开发框架),以及Struts(一个用于构建MVC(Model-View-Controller)架构的Java Web框架)。接下来,我们将深入探讨这三个框架的...

    struts2 spring ibatis整合的最少最全jar包

    Struts2、Spring和iBatis是Java Web开发中非常重要的三个框架,它们分别负责MVC模式中的Action层、业务逻辑层以及数据访问层。这三个框架的整合可以提供一个高效且灵活的开发环境,帮助开发者构建出结构清晰、易于...

    spring3+struts2+ibatis

    《Spring3+Struts2+Ibatis:企业级应用开发框架整合详解》 在现代企业级Web应用开发中,Spring、Struts2和Ibatis是常见的三大组件,它们各自负责不同的职责,共同构建出高效、灵活的应用架构。Spring作为全能型的...

Global site tag (gtag.js) - Google Analytics