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 LV62017年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日
星星
最代码官方 LV1612014年5月21日
皇冠皇冠太阳太阳星星
最代码最近浏览分享源代码列表最近浏览
l33333333333333 LV12020年6月14日
星星
bcr1234 LV92020年5月31日
月亮月亮星星
zmqszz LV22020年5月27日
星星星星
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日
星星
顶部客服微信二维码底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友