SpringMVC-4 REST风格

目录

  • REST风格
  • 简单的REST使用(GET为例)
  • 在jsp中发起DELETE和PUT请求
  • 注意!!!
  • 常见错误

REST风格

REST(Representational State Transfer)表象化状态转变(表述性状态转变),在2000年被提出,基于HTTP、URI、XML、JSON等标准和协议,支持轻量级、跨平台、跨语言的架构设计。是Web服务的一种新的架构风格(一种思想)。

在笔者看来,REST风格其实就是通过URL对服务器上的每一个资源分配一个“id”,然后通过GET、POST、DELETE、PUT对资源进行不同的操作。
REST并不是一个新的技术,而是一种规范,就像在中国我们靠右行驶,而在英国靠左行驶。这种规范可以有效的降低开发的复杂性,提高系统的可伸缩性。

简单的REST使用(GET为例)

请求方式(jsp):


点我发起rest请求

controller:

	//指定testRest作为请求路径,后接参数
	//使用@PathVariable注解标注形参,使用{}来接收
	@RequestMapping(value="/testRest/{uname}",method=RequestMethod.GET)
	public String testRest(@PathVariable("uname")String uname,Model m) {
		//添加数据
		m.addAttribute("msg","rest"+uname);
		//跳转至reg.jsp
		return "reg";
	}

部署并运行,测试请求
SpringMVC-4 REST风格_第1张图片
在这里插入图片描述

在jsp中发起DELETE和PUT请求

POST和GET同理,不做演示。
需要说明的是,由于jsp中不支持DELETE、PUT方式,所以我们在使用之前需要在web.xml中配置拦截器,代码如下。

  
  <filter>
	<filter-name>HiddenHttpMethodFilterfilter-name>
	<filter-class>org.springframework.web.filter.HiddenHttpMethodFilterfilter-class>
filter>
<filter-mapping>
	<filter-name>HiddenHttpMethodFilterfilter-name>
	<url-pattern>/*url-pattern>
filter-mapping>

jsp改为:

  	

controller:

	@RequestMapping(value="/testRest/{uname}",method=RequestMethod.DELETE)
	public String testRest(@PathVariable("uname")String uname,Model m) {
		m.addAttribute("msg","rest"+uname);
		return "reg";
	}

注意!!!

如果你使用的是tomcat8或以上版本,会出现“JSP 只允许 GET、POST 或 HEAD。Jasper 还允许 OPTIONS”的错误,切换到8以下的版本即可。

常见错误

待补充。。。

你可能感兴趣的:(SpringMVC,restful,java)