Restful风格——SpringMVC框架系列教程(3)

IT 文章5年前 (2021)发布 小编
0 0 0

1.restful风格介绍:

Restful 一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。
[v_act]简而言之:[/v_act]
Restful是一种设计风格。对于我们Web开发人员来说。就是使用一个url地址表示一个唯一的资源。然后把原来的请求参数加入到请求资源地址中。然后原来请求的增,删,改,查操作。改为使用HTTP协议中请求方式GET、POST、PUT、DELETE表示。

2.举例:

[v_act]传统的方式是:[/v_act]
比如:http://ip:port/工程名/资源名?请求参数
举例:http://127.0.0.1:8080/springmvc/user?action=delete&id=1

[v_act]restful风格是:[/v_act]
比如:http://ip:port/工程名/资源名/请求参数
举例:http://127.0.0.1:8080/springmvc/user/1
删除动作由DELETE请求决定

ad

程序员导航

优网导航旗下整合全网优质开发资源,一站式IT编程学习与工具大全网站

3.restful风格中请求方式
restful风格中请求方式为GETPOSTPUTDELETE分别表示查、增、改、删。
 
1)GET请求——对应查询

Restful请求 对应HTTP 含义
http://ip:port/工程名/user/1 HTTP请求GET 表示要查询id为1的用户
http://ip:port/工程名/user HTTP请求GET 表示查询全部的用户

 2)POST请求——对应添加

Restful请求 对应HTTP 含义
http://ip:port/工程名/user HTTP请求POST 表示要添加一个用户

 3)PUT请求——对应修改

Restful请求 对应HTTP 含义
http://ip:port/工程名/user/1 HTTP请求PUT 表示要修改id为1的用户信息

 4)DELETE请求——对应删除

ad

AI 工具导航

优网导航旗下AI工具导航,精选全球千款优质 AI 工具集

Restful请求 对应HTTP 含义
http://ip:port/工程名/user/1 HTTP请求DELETE 表示要删除id为1的用户信息

4.SpringMVC中如何发送Restful请求

SpringMVC发送GET请求、POST请求、PUT请求、DELETE请求等Restful请求。
我们知道发起GET请求和POST请求,只需要在表单的form标签中,设置method="get" 就是GET请求,设置form标签的method="post",就会发起POST请求。普通浏览器只支持get和post请求,那么PUT请求和DELETE请求,要如何发起呢?
[v_act]步骤:[/v_act]
1)要有post请求的form标签
2)在form表单中,添加一个额外的隐藏域_method="PUT"_method="DELETE"
3)在web.xml中配置一个Filter过滤器org.springframework.web.filter.HiddenHttpMethodFilter(注意,这个Filter一定要在处理乱码的Filter后面)


	HiddenHttpMethodFilter
	org.springframework.web.filter.HiddenHttpMethodFilter


	HiddenHttpMethodFilter
	/*

Restful风格——SpringMVC框架系列教程(3)
4)在controller中@RequestMapping添加对应请求方式:
PUT请求:method=RequestMethod.PUT
DELETE请求:method=RequestMethod.DELETE
GET请求:method=RequestMethod.GET
POST请求:method=RequestMethod.POST

5.表单写法

1)查询:
Restful风格——SpringMVC框架系列教程(3)
2)添加:
Restful风格——SpringMVC框架系列教程(3)
3)修改:
Restful风格——SpringMVC框架系列教程(3)
4)删除:
Restful风格——SpringMVC框架系列教程(3)

6.controller写法:

1)查询:
Restful风格——SpringMVC框架系列教程(3)
2)添加:
Restful风格——SpringMVC框架系列教程(3)
3)修改:
Restful风格——SpringMVC框架系列教程(3)
4)删除:
Restful风格——SpringMVC框架系列教程(3)

6、测试

发现:PUT和DELETE执行时,控制台正常,但浏览器出现405报错
Restful风格——SpringMVC框架系列教程(3)
Restful风格——SpringMVC框架系列教程(3)
[v_act]原因:[/v_act]
在高版本的tomcat中,不支持PUT和DELETE的转发
[v_act]解决方案:[/v_act]
1)使用Tomcat7以下版本
2)将转发改为重定向,但WEB-INF下的页面重定向是无法访问的,只能重定向到webcontent下的jsp
3)如果想转发到WEB-INF下的jsp,则只能先重定向到新的Controller,通过新的Controller转发到对应的jsp

© 版权声明

相关文章

暂无评论

暂无评论...