最代码广告位
kaka的gravatar头像
kaka2014-05-21 19:03:07

spring3和struts2整合实现零配置的教程

我们目前做的项目使用的就是这种方式,今天比较有空,就写了个demo演示下这个功能。所谓的零配置其实并不是没有配置文件,只是约定大于配置而已,约定做好了,整个项目都会清晰明了很多。详细的约定在struts2-spring-plugin-xxx.jar里面的struts-plugin.xml中有说明。

今天在测试的时候,我struts2-spring-plugin这个jar用的是最新版的,也就是2.3.16.3,按我们项目中的配置完后,请求一直有问题,我没有具体看官方文档,对比了下版本2.1.8.1,struts-plugin.xml中的内容变化挺大,估计配置有变化,这个问题有时间看官过方文档后再更新过来吧。

2.1.8.1版本的struts-plugin.xml如下:

spring3和struts2整合实现零配置的教程2.3.16.3版本的struts-plugin.xml如下:

spring3和struts2整合实现零配置的教程目测新版本的会更加灵活。

这个整合很简单,我只是让spring去管理了action,重点是struts.xml的配置,如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
	<constant name="struts.action.extension" value="action" /><!-- struts处理的请求后缀 -->
    <constant name="struts.enable.SlashesInActionNames" value="true"></constant>
    <package name="zuidaima" extends="struts-default">
		<action name="*_*"   class="{1}Action"  method="{2}" >
		<result name="default">${target}</result>
		<result name="redirect" type="redirect">${target}</result>
		<result name="redirectAction" type="redirectAction">${target}</result>
		</action>
	</package>
</struts>

 

说明下:在这个示例中,action规定的请求格式是action的名称+“_”+请求的方法名称,比如请求的是UserAction的getUser方法,则请求地址为:user_getUser.action

大家如果想了解更多的配置,详细看下struts-plugin.xml中的常量说明。

项目截图:

spring3和struts2整合实现零配置的教程

开发环境:eclipse kepler + jdk7 + win7 64 + maven


最代码官方编辑于2016-8-19 9:32:00


打赏

文件名:zuidaima_struts2_noconfig.rar,文件大小:12.459K下载
  • /
      • /zuidaima_struts2_noconfig
        • /zuidaima_struts2_noconfig/.classpath
        • /zuidaima_struts2_noconfig/.project
          • /zuidaima_struts2_noconfig/.settings
            • /zuidaima_struts2_noconfig/.settings/.jsdtscope
            • /zuidaima_struts2_noconfig/.settings/org.eclipse.jdt.core.prefs
            • /zuidaima_struts2_noconfig/.settings/org.eclipse.m2e.core.prefs
            • /zuidaima_struts2_noconfig/.settings/org.eclipse.wst.common.component
            • /zuidaima_struts2_noconfig/.settings/org.eclipse.wst.common.project.facet.core.xml
            • /zuidaima_struts2_noconfig/.settings/org.eclipse.wst.jsdt.ui.superType.container
            • /zuidaima_struts2_noconfig/.settings/org.eclipse.wst.jsdt.ui.superType.name
            • /zuidaima_struts2_noconfig/.settings/org.eclipse.wst.validation.prefs
最代码最近下载分享源代码列表最近下载
huazai616 LV12018年4月2日
星星
18223454259 LV52017年12月21日
月亮星星
AABBCC阿欣 LV42017年6月28日
月亮
AvenAn LV12016年10月19日
星星
i小妖 LV112016年6月7日
月亮月亮星星星星星星
lrz8745 LV12016年1月19日
星星
su12345su LV82015年12月1日
月亮月亮
xiaoqiang LV12014年7月12日
星星
最代码官方 LV1492014年5月21日
皇冠皇冠太阳月亮星星
最代码最近浏览分享源代码列表最近浏览
123hdhdhd LV102019年12月1日
月亮月亮星星星星
只要有你 LV82019年10月3日
月亮月亮
Sotouch LV82019年7月19日
月亮月亮
qqlove LV32019年6月19日
星星星星星星
zxcvbnmasfghjkl LV82019年5月28日
月亮月亮
13546224603 LV12019年4月24日
星星
啊咖喱给给 LV12018年11月30日
星星
liuguojun920 LV52018年9月6日
月亮星星
areyoualone LV12018年5月11日
星星
1019193566 LV172018年4月14日
太阳星星
顶部客服微信二维码底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友