Spring与Struts整合

最近一段时间闲下来了,就想整理整理自己的知识网,查漏补缺。博客就相当于自己整理的一个过程吧。

Spring和Struts整合

1.相关Jar的引入

这里写图片描述
注意: 除了基本的Struts和Spring jar包外,要特别加入Struts里的struts2-spring-plugin.jar和Spring里的spring-web.jar。


初始化Struts和Spring

1.配置web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app>

    <welcome-file-list>
        <wlecome-file>index.jsp</wlecome-file>
    </welcome-file-list>

     <!-- struts配置 -->
    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter
        </filter-class>
    </filter>
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <!-- Spring配置 -->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/classes/bean-*.xml</param-value>
    </context-param>

    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
</web-app>
2.创建struts.xml和bean.xml

这里写图片描述
注意: Spring配置上下文路径时,如果你的配置文件实在源目录下的话,不能直接写/WEB-INF/bean-*.xml,项目在发布的时候会直接把配置文件拷贝到/WEB-INF/classes/目录下。


整合

1.创建Action,Service,Dao

UserAction

package cn.hts.action;

import com.opensymphony.xwork2.ActionSupport;

import cn.hts.service.UserService;



public class UserAction extends ActionSupport{
    private UserService userService;
    public void setUserService(UserService userService) {
        this.userService = userService;
    }

    public String execute() {
        // TODO Auto-generated method stub
        userService.save();
        return SUCCESS;
    }
}

UserService

package cn.hts.service;

import cn.hts.dao.UserDao;

public class UserService {

    private UserDao userDao; 
    public void setUserDao(UserDao userDao) {
        this.userDao = userDao;
    }

    public void save() {
        userDao.save();
    }
}

UserDao

package cn.hts.dao;

public class UserDao {

    public void save() {
        System.out.println("DB:保存用户");
    }
}
2.IOC创建对象

bean-dao.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd">

        <bean id="userDao" class="cn.hts.dao.UserDao"></bean>
  </beans>

bean-service.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd">

        <bean id="userService" class="cn.hts.service.UserService">
            <property name="userDao" ref="userDao"></property>
        </bean>
  </beans>

bean-action.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd">

        <bean id="userAction" class="cn.hts.action.UserAction">
            <property name="userService" ref="userService"></property>
        </bean>
  </beans>
3.Struts对Action请求的处理

struts.xml

<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
    "http://struts.apache.org/dtds/struts-2.5.dtd">
    <struts>
    <package name="user" namespace="/" extends="struts-default">
        <action name="user" class="userAction" method="execute">
            <result name="success">/WEB-INF/index.jsp</result>
        </action>
    </package>  
    </struts>

注意: 原先struts配置文件中class属性的值是有action的类名,现在变为由Spring来管理对象的创建。所以用的IOC容器中userAction。


结果

在浏览器中输入地址查看效果
这里写图片描述
控制台输出
这里写图片描述
注意:
因为没做跳转事件,所以浏览器的地址直接访问了action。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值