加入收藏 | 设为首页 | 会员中心 | 我要投稿 常州站长网 (https://www.0519zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

Struts2整合Spring技巧及原理

发布时间:2021-11-20 18:33:12 所属栏目:教程 来源:互联网
导读:一、 Struts 2框架整合Spring步骤 1、 复制文件。复制struts2-spring-plugin-x-x-x.jar和spring.jar到WEB-INF/lib目录下。其中的x对应了Spring的版本号。还需要复制commons-logging.jar文件到WEB-INF/lib目录下。 2、 配置struts.objectFactory属性值。在str

一、 Struts 2框架整合Spring步骤
 
1、 复制文件。复制struts2-spring-plugin-x-x-x.jar和spring.jar到WEB-INF/lib目录下。其中的x对应了Spring的版本号。还需要复制commons-logging.jar文件到WEB-INF/lib目录下。
 
2、 配置struts.objectFactory属性值。在struts.properties中设置struts.objectFactory属性值:struts.objectFactory = spring
 
或者在XML文件中进行常量配置:
 
<struts>
 
<constant name="struts.objectFactory" value="spring" />
 
...
 
</struts>
 
3、 配置Spring监听器。在web.xml文件中增加如下内容:
 
<listener>
 
<listener-class>
 
org.springframework.web.context.ContextLoaderListener
 
</listener-class>
 
</listener>
 
4、 Spring配置文件。默认情况下,Spring配置文件为applicationContext.xml,该文件需要保存在Web应用的WEB-INF目录下。内容示例如下所示:
 
<?xml version="1.0" encoding="UTF-8"?>
 
<!DOCTYPE beans PUBLIC
 
"-//SPRING//DTD BEAN//EN"
 
"http://www.springframework.org/dtd/spring-beans.dtd">
 
<beans default-autowire="byName">
 
<bean id="personManager" class="com.acme.PersonManager"/>
 
</beans>
 
开发者实际上可以使用多个Spring配置文件,在web.xml中进行下列设置,从而使Spring的ApplicationContext通过匹配所给定模式的文件来初始化对象:
 
<!-- 用来定位Spring XML文件的上下文配置 -->
 
<context-param>
 
<param-name>contextConfigLocation</param-name>
 
<param-value>
 
/WEB-INF/applicationContext-*.xml,classpath*:applicationContext-*.xml
 
</param-value>
 
</context-param>
 
5、 修改Struts配置文件。Struts 2框架整合Spring框架,需要在Struts配置文件中有所改变,下面是一个示例:
 
<!DOCTYPE struts PUBLIC
 
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
 
"http://struts.apache.org/dtds/struts-2.0.dtd">
 
<struts>
 
<include file="struts-default.xml"/>
 
<package name="default" extends="struts-default">
 
<action name="foo" class="com.acme.Foo">
 
<result>foo.ftl</result>
 
</action>
 
</package>
 
<package name="secure" namespace="/secure" extends="default">
 
<action name="bar" class="bar">
 
<result>bar.ftl</result>
 
</action>
 
</package>
 
</struts>
 
该配置文件中定义了两个Action配置:foo是一个标准的Struts 2框架Action配置,指定了Action实现类为com.acme.Foo;bar对应的class并不存在,那么框架将在Spring配置文件中查找id属性为“bar”的定义,该配置文件如下所示:
 
<?xml version="1.0" encoding="UTF-8"?>
 
<!DOCTYPE beans PUBLIC
 
"-//SPRING//DTD BEAN//EN"
 
"http://www.springframework.org/dtd/spring-beans.dtd">
 
<beans default-autowire="byName">
 
<bean id="bar" class="com.my.BarClass" singleton="false"/>
 
...
 
</beans>

(编辑:常州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读