Struts2入门

怎样实现struts2和spring的整合?

一、struts2整合到spring容器的步骤:

web.xml配置:
1.【web监听spring容器上下文对象】

1 <!-- web监听 -->
2 <listener>
3     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
4 </listener>

2.【初始化Spring容器,加载spring核心配置文件】

1 <!-- 初始化Spring容器 -->
2 <context-param>
3     <param-name>contextConfigLocation</param-name>
4     <param-value>/WEB-INF/configs/applicationContext.xml</param-value>
5 </context-param>

spring容器配置:applicationContext.xml,导入负责处理业务bean和持久化bean的配置,需要额外添加对controller层的action bean管理的支持。(将action bean交给spring容器管理)

applicationContext.xml详细配置:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3     xmlns:context="http://www.springframework.org/schema/context"
 4     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 5     xsi:schemaLocation="http://www.springframework.org/schema/beans
 6 http://www.springframework.org/schema/beans/spring-beans.xsd
 7 http://www.springframework.org/schema/context
 8 http://www.springframework.org/schema/context/spring-context.xsd">
 9 
10     <!-- 导入spring配置 -->
11     <import resource="spring-service.xml" />
12     <import resource="spring-dao.xml" />
13 
14     <!-- 打开组件扫描controller,将action对象管理起来 -->
15     <context:component-scan base-package="com.entor.rams.actions">
16         <!-- 只对@Controller -->
17         <context:include-filter type="annotation"
18             expression="org.springframework.stereotype.Controller" />
19     </context:component-scan>
20 </beans>

3.【配置struts2核心过滤器,过滤所有的请求】

1 <!-- 配置struts过滤器,接管所有的请求 -->
2 <filter>
3     <filter-name>struts2</filter-name>
4     <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
5 </filter>
6 <filter-mapping>
7     <filter-name>struts2</filter-name>
8     <url-pattern>/*</url-pattern>
9 </filter-mapping>

4.【加载struts2核心配置】

struts2核心配置:struts.xml,负责处理controller层的action bean以及前端控制功能,声明action对象的管理交给spring容器。

struts.xml详细配置:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!DOCTYPE struts PUBLIC
 3 "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
 4 "http://struts.apache.org/dtds/struts-2.5.dtd">
 5 <struts>
 6     <!-- 常量配置 -->
 7     <!-- 开发模式打开 -->
 8     <constant name="struts.devMode" value="true" />
 9     <!-- 声明action对象的管理交给spring容器 -->
10     <constant name="struts.objectFactory" value="spring" />
11     <!-- 通过Action的限制得到结果页面路径 -->
12     <constant name="struts.convention.result.path" value="/WEB-INF/jsps/" />
13 </struts>

二、UserAction继承ActionSupport实现ModelDrive<T>
1.ModelDrive<T>提供了对参数整体封装
2.必须提供getModel方法并实现(由这个方法接收并封装请求参数)
3.如果想在jsp页面使用el表达式直接访问参数,可以在action中将参数声明为成员,并提供这个成员的getter方法。

posted @ 2017-11-16 21:38  Touko  阅读(142)  评论(0编辑  收藏  举报