springMVC对RESTful的支持

Posted thaipine

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springMVC对RESTful的支持相关的知识,希望对你有一定的参考价值。

1:后台controller方法编写

 1 @RequestMapping("/itemsLook/id")
 2 public ItemsCustom itemsLook(@PathVariable("id")Integer itemsId) throws MyException 
 3   ItemsCustom itemsCustom = this.itemsService.getItems(itemsId);        
 4   return itemsCustom;
 5 
 6 /*
 7 @PathVariable:将模板变量(参数)的值绑定(映射)到形参上
 8 
 9 @PathVariable
10 1:如果未指定名称
11 模板变量(参数)id的名称必须和形参Integer id的名称一样
12 
13 2:如果指定名称
14 模板变量(参数)id的名称必须和@PathVariable("id")的名称一样
15 模板变量(参数)id的名称不必和形参Integer itemsId的名称一样
16 */

2:支持RESTful风格的DispatcherServlet配置

在web.xml中添加如下配置:

 1   <!-- 支持RESTful的配置 -->
 2   <servlet>
 3     <servlet-name>springMVCRESTful</servlet-name>
 4     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
 5     <init-param>
 6       <param-name>contextConfigLocation</param-name>
 7       <param-value>classpath:springMVC.xml</param-value>
 8     </init-param>
 9   </servlet>
10   <servlet-mapping>
11     <servlet-name>springMVCRESTful</servlet-name>
12     <url-pattern>/</url-pattern> 
13   </servlet-mapping> 

3:进行RESTful测试

技术图片

4:静态资源配置

由于<servlet-mapping>中配置的<url-pattern>是/,会导致静态资源不能访问,解决方法如下:

在springMVC.xml中加入如下配置:

1 <!-- 静态资源处理 -->
2 <mvc:resources location="/js/" mapping="/js/**"/>
3 <mvc:resources location="/css/" mapping="/css/**"/>
4 <mvc:resources location="/img/" mapping="/img/**"/>

 

以上是关于springMVC对RESTful的支持的主要内容,如果未能解决你的问题,请参考以下文章

SpringMVC学习10SpringMVC对RESTfull的支持

SpringMVC之Restful

关于SpringMVC映射模型视图的几点小事

springMVC学习(11)-json数据交互和RESTful支持

SpringMVC的JSON数据交互和RESTful支持

JSON数据交互和RESTful支持