`
swanky_yao
  • 浏览: 30630 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Struts2 Rest方式和非Rest方式共存

阅读更多

       我们在使用Struts2构建Rest架构的网站的时候,可以使用Struts2的Rest插件struts2-rest-plugin-2.3.15.1.jar。

       假设我们希望以rest开头的包下的Action都是以Rest方式提供服务,Struts的配置文件中增加如下内容:

 

<constant name="struts.rest.namespace" value="/rest"></constant>

<constant name="struts.convention.action.suffix" value="Controller" />
	<constant name="struts.convention.action.mapAllMatches" value="true" />
	<constant name="struts.convention.default.parent.package"
		value="default" />
	<constant name="struts.convention.package.locators" value="rest,comm,action" />

	<constant name="struts.convention.action.name.separator"
		value="_" />

<package name="default" namespace="/rest" extends="rest-default">
等等

 注意上面struts.convention.package.locators配置了多个值,是因为其他几个非Rest提供服务的action我也想使用Struts2的注解插件convention。

通过上面的配置,我们就可以在包含rest名称的package下面写Rest方式的Action了。

 

但是我要想在其他package(比如上面配置的comm、action)下面写普通的Struts2的Action是不是可以呢?答案是不行,你会发现全都变成了Rest方式处理了!

要解决这个问题,我们必须重写RestActionMapper这个类。

 

在getMapping这个方法中增加了几行代码如下:

if (!"/rest".equals(mapping.getNamespace()))
			return super.getMapping(request, configManager);

 这里直接硬编码了/rest。代码见附件。

 

 

 

分享到:
评论
1 楼 likeykey 2013-08-15  
有配置好的例子么 给我发一个呗  我配置怎么有问题 252136866@qq.com 谢谢

相关推荐

    Struts2-rest插件(有注释)

    以 Convention 插件为基础,Struts 2.1 又新增了 REST 插件,允许 Struts 2 应用对外提供 REST 服务。REST 插件也无需使用 XML 进行配置管理。Struts 2.1 通过 REST 插件完全可以提供让人和机器客户端共同使用的资源...

    struts2_rest整合完整例子

    struts2_rest整合完整例子,带jar包,直接导入即可运行。

    struts2的rest风格插件实例

    将 Struts 2 项目下 struts2-convention-plugin-2.1.6.jar、struts2-rest-plugin-2.1.6.jar 两个 JAR 包复制到 Web 应用的 WEB-INF/lib 路径下。 由于 Struts 2 的 REST 插件还需要将提供 XML、JSON 格式的数据,...

    struts2和servlet的共存问题

    struts2和servlet的共存问题

    struts2+rest简单实例

    官方app应用示例,包含基本action,下载后import工程,参照lib目录下图片中包含的jar包导入部署即可运行。

    struts1和struts2的区别

    struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别...

    Struts2 支持REST 代码

    Struts2 支持REST代码 直接部署,访问地址 http://localhost:8080/struts2/app/test/aa

    Struts2+rest简单实例

    自己写的小例子,部署以后就能运行,包涵七种默认action方法,适合新人入门,高手不必下载了

    struts2-rest-plugin-2.1.6.jar

    struts2-rest-plugin-2.1.6.jar

    struts2-rest-sample:使用 struts2 讨论 rest api 实现基础的示例项目

    struts2-rest-sample 使用 struts2 讨论 rest api 实现基础的示例项目

    struts2.1.6 convertion,rest两插件的例子

    struts2.1.6 convertion插件(即注释方式配置)的helloworld 默认调用index()方法 文档说明用struts.xml中标签设置值,好象不用也行 rest插件例子 默认调用 create()方法 struts2.1.6 vistor校验例子 都是我测试例子,...

    Struts2视频教程

    Struts2是一套非常优秀的Java WEB应用框架,实现优雅、功能强大、使用简洁。目前已有大量的企业项目采用Struts2来...学习完本视频,你会真正理解Struts2相对于Struts1的优雅和简洁,并使你具备开发Struts2项目的能力。

    Struts1和Struts2的区别和对比

    Struts1和Struts2的区别和对比 Struts1和Struts2的区别和对比

    strusts2包struts2-rest-showcase-2.1.8.war实现ModelDriven接口项目心得

    自己的总结 还很不全面希望对你您有用 主要是控制url

    Struts2开发常用jar包

    plugin-2.5.10.1.jar,struts2-pell-multipart-plugin-2.5.10.1.jar,struts2-plexus-plugin-2.5.10.1.jar,struts2-portlet-plugin-2.5.10.1.jar,struts2-rest-plugin-2.5.10.1.jar,struts2-sitegraph-plugin-2.5...

    struts2 资料struts2 资料struts2 资料struts2 资料

    struts2 资料struts2 资料struts2 资料struts2 资料

    struts2 总结工程大全

    struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全...

    struts2-core.jar

    struts2-core-2.0.1.jar, struts2-core-2.0.11.1.jar, struts2-core-2.0.11.2.jar, struts2-core-2.0.11.jar, struts2-core-2.0.12.jar, struts2-core-2.0.14.jar, struts2-core-2.0.5.jar, struts2-core-2.0.6.jar,...

    struts2文件上传和下载

    struts2文件上传和下载 struts2文件上传和下载 struts2文件上传和下载 struts2文件上传和下载 struts2文件上传和下载

Global site tag (gtag.js) - Google Analytics