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/**"/>