Struts1.x + Spring 2.5 集成开发配置与应注意的问题

尽管现在MVC(Model + View + Controller) 开发已经进入了Struts2时代, 但是Struts1.x 作为一个较早的比较成熟的MVC开发框架,已经经受住了实践的检验,以其卓越的稳定性和简洁明晰的开发流程为广大的Java开发者和企业所接受,尤其是开发轻量级Web应用的一把利器。 俗话说:百闻不如一见。 下面就Struts1.1 + Spring2.5的开发实践,谈谈开发的流程和应该注意的问题。
1. 引入Struts1.1 的jar包。 使用Struts1.1开发所必须使用的jar包有
struts-1.1.jar // 核心jar
struts-legacy-1.1.jar //
antlr.jar //
commons-beanutils.jar // 对javaBean操作的一个工具包,提供对Java反射和自省API的包装
commons-digester.jar // Digester基于规则的XML文档解析,主要用于XML到Java对象的映射
commons-fileupload.jar // 文件上载
commons-logging.jar // 日志记录
commons-collections.jar // 扩展了集合框架的一个工具包
commons-lang.jar // 扩展了java中的lang包
commons-validator.jar // 做验证的一个工具包

2. 为整个项目配置Struts1.1的插件。此处把Struts1.1作为Web Application的插件来看待对初学者较为容易理解一些。实际上我们这一步要为我们的Web Application配置的是Servlet. 步骤如下:
a.打开web.xml项目配置文件;
b.在其中加入<servlet></servlet> 和 <servlet-mapping></servlet-mapping>节点,以配置整个项目的控制器(即转发器)和请求转发的格式。下面是一个配置例子,要注意其中的配置参数,在熟悉了之后根据需要修改。
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>
org.apache.struts.action.ActionServlet
</servlet-class>
<init-param>
<param-name>config</param-name> <param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>3</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>3</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>

3. 配置struts-config.xml,在<struts-config>节点下加入FormBean和对应的Action。
<form-beans>
<form-bean name="htmlForm"
type="org.apache.struts.action.DynaActionForm">
<form-property name="url" type="java.lang.String" />
<form-property name="htmlCode" type="java.lang.String" />
</form-bean>
</form-beans>
<action-mappings>
<action path="/pdfGenerate"
type="org.springframework.web.struts.DelegatingActionProxy"
name="htmlForm">
</action>
</action-mappings>

4. 配置spring。spring的配置及其与struts的集成主要经过如下步骤。
a. 在项目中加入applicationContext.xml文件,这个文件主要是spring的Bean配置文件,在此文件中要把在struts-config.xml中配置的action作为一个Bean来管理。应该注意到,在struts-config.xml的配置文件中配置action的时候,其名为type的attribute设置为[color=blue]org.springframework.web.struts.DelegatingActionProxy[/color],实质上是把action作为一个spring的Bean来管理。
<bean name="/pdfGenerate"
class="com.ubs.swidJQT.v1.export.pdf.action.PdfGenerate">
<property name="pdfGenerator" ref="pdfGenerator" />
</bean>
此处配置的是真正的action所对应的控制器类。
b. 在web.xml中加入名位context的servlet,以便在程序启动时加在系统级配置文件,如applicationContext.xml,log4j.properties等。
<servlet>
<servlet-name>context</servlet-name>
<servlet-class>
org.springframework.web.context.ContextLoaderServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/log4j.properties</param-value>
</context-param>
c. 配置log4j的监听器。
<listener>
<listener-class>
org.springframework.web.util.Log4jConfigListener
</listener-class>
</listener>
d. 在struts-config.xml的配置文件中把spring作为一个plugin来管理,实现spring的Bean定义文件的加载。
<plug-in
className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation"
value="/WEB-INF/applicationContext.xml" />
</plug-in>

小结: 这大概就是struts1.1整合spring2.5的大概步骤。 如果有所不足和疏漏,还请各位朋友批评指正啊。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值