SpringMVC-4 REST风格

REST风格

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

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

简单的REST使用(GET为例)

请求方式(jsp):

<!--   默认就是GET,这里不做修改 -->
<a href="hello/testRest/shiwei">点我发起rest请求</a>

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";
	}

部署并运行,测试请求
在这里插入图片描述
在这里插入图片描述

在jsp中发起DELETE和PUT请求

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

  <!-- 解决PUT请求无法提交表单数据的问题 -->
  <filter>
	<filter-name>HiddenHttpMethodFilter</filter-name>
	<filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>
<filter-mapping>
	<filter-name>HiddenHttpMethodFilter</filter-name>
	<url-pattern>/*</url-pattern>
</filter-mapping>

jsp改为:

  	<form action="testRest/shiwei" method="post">
  		<input type="hidden"  name="_method" value="DELETE">
  		<input type="submit" value="delete提交">
  	</form>

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以下的版本即可。

常见错误

待补充。。。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值