注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

0与1构筑世界,程序员创造时代

软件架构设计 Java编程

 
 
 

日志

 
 

Spring IBatis Struts2 集成之二:Spring与Struts2集成 | Spring IBatis Struts2 Integration II: Spring Integrates with Struts2  

2011-03-22 21:06:02|  分类: Java |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
  文章声明

作者:傲风(aofengblog@163.com)       编写时间:2011年03月22日

网址:http://aofengblog.blog.163.com

作者保留所有权利,转载请保留文章全部内容!



接首上一篇《Spring IBatis Struts2 集成之一:Spring与IBatis集成 | Spring IBatis Struts2 Integration I: Spring Integrates with IBatis》,本篇写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的集成。


<正文结束>
  评论这张
 
阅读(3740)| 评论(2)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017