首先在Struts2工程中导入所需的jar包 ezmorph-103jar json-lib-21-jdk15jar struts2-convention-plugin-2211jar struts2-rest-plugin-2211jar xstream-122jar
配置和使用
现在,我们配置struts2使它使用restful2actionmapper。在web项目中,修改strutsproperties文件(它最终会发布到你的web应用的web-inf/classes目录中):
strutsmapperclass=orgapachestruts2dispatchermapperrestful2actionmapper
strutsenableslashesinactionnames=true
当然,你也可以在strutsxml里进行配置,请参考struts2的相关文档。
这里有个小建议,许多人在web-inf/webxml里对struts2的配置是让struts2处理所有扩展名为action的url,也就是设置url-pattern为action。 我的建议是,不要使用扩展名来作为url-pattern,使用基于路径的匹配形式会更好,我一般是使用“/app/”作为url-pattern。至于扩展名,我一般是在strutsproperties文件中指定:
strutsactionextension=html,xml,json
或者,不要扩展名:
strutsactionextension=
不过,这些都是题外话。
现在,以上面讲到的article为例,我们定义articleaction。按照restful2actionmapper的规则,url与method的对应关系如下:
get /article => public string index(); 资源索引;
get /article/2007/8/a001 => public string view(); 对应于读取 *** 作;
post /article/2007/8/a001 => public string create(); 创建资源;
put /article/2007/8/a001 => public string update(); 更新资源;
delete /article/2007/8/a001 => public string remove(); 删除资源;
get /article/2007/8/a001!edit => public string edit(); 请求编辑资源,和rest的四种 *** 作没有对应关系;
get /article/new 或 get /article/!editnew => public string editnew(); 请求编辑新资源,和rest的四种 *** 作没有对应关系。
后两种方式似乎和rest没什么关系,但为传统的web应用开发提供了方便。比如edit(),服务器返回一个表单页面。但是,如果我们让应用服
此文来自: 马开东博客 转载请注明出处 网址: >
以上就是关于如何利用struts2的Restful2ActionMapper实现ReST风格的URL全部的内容,包括:如何利用struts2的Restful2ActionMapper实现ReST风格的URL、java动态修改rest路径、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)