【SpringMVC学习08】SpringMVC对RESTfull的支持
来源:互联网 发布:淘宝客服主管提成方案 编辑:程序博客网 时间:2024/04/20 12:37
RESTful架构,就是目前流行的一种互联网软件架构。它结构清晰、符合标准、易于理解、扩展方便,所以正得到越来越多网站的采用。
RESTful架构对url进行规范,写RESTful格式的url是什么样子的呢?我们一般请求的url是类似这样子的:
http://...../xxx.action?id=001&type=aaa
而REST的url风格是什么样子呢?一般它类似于:
http://..../xxx/001
所以REST有个很明显的特点:使url变得简洁,将参数通过url传到服务端。
springmvc也是支持这种REST风格的url的,我们定义一个controller来测试一下:
//查询商品信息,输出json,使用RESTful@RequestMapping("/itemsView/{id}")public @ResponseBody ItemsCustom itemsView(@PathVariable("id") Integer id) throws Exception { ItemsCustom itemsCustom = itemsService.findItemsById(id); return itemsCustom;}
@ResponseBody是用来将itemsCustom转成json的注解,而@PathVariable注解则是跟REST有关了,@RequestMapping(value=”/ itemsView/{id}”)中的{id}表示一个占位符,那么这里面传过来的值会传到被@PathVariable标记的形参上,如果形参和占位符中的变量一样的话,可以不用再注解中指定,否则注解中要指定这个占位符中的变量(即id)。这样的话,参数就可以通过url传到形参中来了。
但是这样还不行,还要在前端控制器中针对REST进行配置,如下:
<!-- 配置springmvc的前端控制器DispatcherServlet,REST配置 --><servlet> <servlet-name>springmvc_rest</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring/springmvc.xml</param-value> </init-param></servlet><servlet-mapping> <servlet-name>springmvc_rest</servlet-name> <url-pattern>/</url-pattern></servlet-mapping>
拦截的是所有的url(/),这个配置跟之前配置好的前端控制器是没有冲突的,可以并存。经过这样配置后,就可以在浏览器中输入http://localhost:8080/SpringMVC_Study/itemsView/1来测试返回到浏览器的数据了,可以看到返回一串json数据。
但是有个问题,使用上面的配置后会拦截所有的url,那么对静态资源也会拦截,所以DispatcherServlet也会解析静态资源,但是这样的话就会出错,所以我们要设置一下不让它解析静态资源。如:
<!-- 静态资源解析,包括js,css,img... --><mvc:resources location="/js/" mapping="/js/**"></mvc:resources><mvc:resources location="/img/" mapping="/img/**"></mvc:resources>
如果还有其他静态资源的话,也要设置一下,这样就不会去解析静态资源了,访问静态资源的时候就直接访问即可。
- 【SpringMVC学习08】SpringMVC对RESTfull的支持
- 【SpringMVC学习10】SpringMVC对RESTfull的支持
- RESTFull风格的springmvc遇到的问题
- SpringMVC对Ajax的支持
- springmvc对RESTful的支持
- springmvc对ajax的支持
- SpringMVC对Ajax的支持
- SpringMVC HelloWorld Restfull 项目
- SpringMVC对RESTful支持
- springmvc对RESTful支持
- springmvc对RESTful支持
- springMVC入门--4.springMVC内置对JSON的支持
- springMVC对异常处理的支持
- springMVC对异常处理的支持
- 3、springMVC对activeMQ的支持
- SpringMVC对异常处理的支持
- springMVC对异常处理的支持
- springMVC对异常处理的支持
- 【SpringMVC学习07】SpringMVC与前台的json数据交互
- Cocoapods安装时遇到的坑!
- js == 与 === 的区别
- ios系统中input type=text/radio/checkebox取消默认样式
- sql Resultsql详解
- 【SpringMVC学习08】SpringMVC对RESTfull的支持
- 九-3 远程调试 WebView
- Java学习要达到的30个目标
- 【SpringMVC学习09】SpringMVC中的拦截器
- Touch_Java 8:内部类和异常类
- 喜讯:中国开源软件推进联盟PostgreSQL分会正式成立 瀚高软件董事长苗健先生接受分会秘书长任命
- 实时进行GZIP压缩优化Asp.Net页面的CompressionModule对Asp.Net Ajax及搜索引擎的兼容性测试!
- UDP广播遇到的坑
- webpack打包vue2.0项目时必现问题。