快速业务通道

spring 3.0应用 - springmvc构造RESTful URL详细讲解 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-21
 new ModelAndView(LIST_ACTION);   }   /** 批量删除 */   @RequestMapping(method=RequestMethod.DELETE)   public ModelAndView batchDelete(HttpServletRequest request,HttpServletResponse response) {   String[] items = request.getParameterValues("items");   for(int i = 0; i < items.length; i++) {    java.lang.Long id = new java.lang.Long(items[i]);    userInfoManager.removeById(id);   }   return new ModelAndView(LIST_ACTION);   } }

spring 3.0应用 - springmvc构造RESTful URL详细讲解(4)

时间:2011-01-03 javaeye badqiu

上面是rapid-framework 新版本生成器生成的代码,以后也将应用此规则,rest url中增删改查等基本方法与Controller的方法映射规则

Java代码

/userinfo  => index()   /userinfo/new => _new()   /userinfo/{id} => show()   /userinfo/{id}/edit  => edit()   /userinfo POST => create()   /userinfo/{id} PUT => update()   /userinfo/{id} DELETE => delete()   /userinfo DELETE => batchDelete()

注(不使用 /userinfo/add  => add() 方法是由于add这个方法会被maxthon浏览器当做广告链接过滤掉,因为包含ad字符)

4.jsp 编写

Html代码

<form:form action="${ctx}/userinfo/${userInfo.userId}" method="put"> </form:form>

生成的html内容如下, 生成一个hidden的_method=put,并于web.xml中的HiddenHttpMethodFilter配合使用,在服务端将post请求改为put请求

Java代码

<form id="userInfo" action="/springmvc_rest_demo/userinfo/2" method="post">   <input type="hidden" name="_method" value="put"/> </form>

另外一种方法是你可以使用ajax发送put,delete请求.

5.静态资源的URL重写

如上我们描述,现因为将default servlet映射至/static/的子目录,现我们访问静态资源将会带一个/static/前缀.

如 /foo.gif, 现在访问该文件将是 /static/foo.gif.

那如何避免这个前缀呢,那就是应用URL rewrite,现我们使用 http://tuckey.org/urlrewrite/, 重写规则如下

Xml代码

<urlrewrite>    <!-- 访问jsp及jspx将不rewrite url,其它.js,.css,.gif等将重写,如 /foo.gif => /static/foo.gif -->    <rule>     <condition operator="notequal" next="and" type="request-uri">.*.jsp</condition>     <condition operator="notequal" next="and" type="request-uri">.*.jspx</condition>      <from>^(/.*\..*)contentlt;/from>      <to>/static$1</to>    </rule> </urlrewrite>

另笔者专门写了一个 RestUrlRewriteFilter来做同样的事件,以后会随着rapid-framework一起发布.比这个更加轻量级.

并且该代码已经贡献给spring,不知会不会在下一版本发布

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号