首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

spring调整struts2

2012-09-05 
spring整合struts2以下介绍几个配置部分的配置,这几个部分配置好了,也就可以了,先上工程图?一、配置web.xml

spring整合struts2

以下介绍几个配置部分的配置,这几个部分配置好了,也就可以了,先上工程图
?spring调整struts2

一、配置web.xml
<context-param>
???? <param-name>contextConfigLocation</param-name>
???? <param-value>/WEB-INF/beans.xml</param-value>
?? </context-param>
?? <listener>
?? <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
?? </listener>
???? ?
? <filter>
? ??? <filter-name>struts2</filter-name>
? ??? <filter-class>
? ??? ??? org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
? ??? </filter-class>
? </filter>
? <filter-mapping>
? ??? <filter-name>struts2</filter-name>
? ??? <url-pattern>*.action</url-pattern>
? </filter-mapping>

以上主要配置spring为随着服务器启动而自启动,配置struts2过滤器,配置spring配置文件的位置

二、action类代码

public class LoginAction {
??? LoginService loginService;
??? public LoginService getLoginService() {
??? ??? return loginService;
??? }
??? public void setLoginService(LoginService loginService) {
??? ??? this.loginService = loginService;
??? }
??? public String execute() throws Exception {
??????? loginService.hello();
??? ??? return "success";
??? }
}
LoginService 为要注入的对象,需有set方法

三、spring配置文件beans.xml
??? <bean id="loginService" scope="prototype">
??? <property name="loginService" ref="loginService"/>
??? </bean>
这里名为login的bean是struts2中的action,由spring负责action的创建,在该action中
设置loginService属性

四、struts2的配置文件
<constant name="struts.objectFactory" value="org.apache.struts2.spring.StrutsSpringObjectFactory" />?
<include file="struts-default.xml"></include>
<package name="" extends="struts-default" namespace="/mm">
<action name="login" class="login">
<result name="success">/success.jsp</result>
</action>
</package>

以上指定了对象工厂为StrutsSpringObjectFactory,这样struts2的action就不再又struts2而是由spring
负责产生了
另外action元素中的class属性不再指向其实际的class,而是指向beans.xml中某个action bean的id

测试:http://localhost:8080/SS2H/mm/login.action
这样就完成了两者的整合

另外要注意的是要导入好所需要的jar包,比如struts2的spirng插件包,spring的web包

热点排行