1.RESTful简介
REST:Representational State Transfer,表现层资源状态转移
1)资源:
资源是一种看待服务器的方式,即将服务器看做是由很多离散的资源组成,每个资源是服务器上一个可命名的抽象概念。与面向对象设计类似,资源是以名词为核心来组织的,首先关注的是名词,一个资源可以由一个或多个URL来标识,URL即是资源的名称,也是资源在Web上的地位。对某个资源感兴趣的客户端应用,可以通过资源的URL与其进行交互。
2)资源的表述
资源的表述是一段对于资源在某个特点时刻的状态的描述,可以在客户端-服务器端之间转移(交换)。资源的表述可以有多种格式,如XML或HTML等。资源的表述格式可以通过协商机制来确定。请求响应方向的表述通常使用不同的格式
3)状态转移
状态转移指在客户端和服务器端之间转移(transfer)代表资源状态的表述。通过转移和操作资源的表述,来间接实现操作资源的目的。
2.RESTful的实现
指HTTP协议里的四个表示操作方式的词:GET、POST、PUT、DELETE
分别对应四种基本操作:GET用来获取资源,POST用来新建资源,PUT用来更新资源,DELETE用来删除资源。
REST风格都是提倡URL地址使用统一的风格设计,从前到后各个单词使用斜杠分开,不使用问号键值对方式携带请求参数,而是将发送给服务器的数据作为URL地址的一部分,以保证整体风格的一致性
3.测试查询功能
新建工程
导入之前的依赖
添加web.xml
对tomcat服务器进行部署
将之前的配置文件复制到该目录下
在web.xml中设置过滤器和SpringMVC的前端控制器
创建一个控制层的类
在WEB-INF目录下添加tempplates的目录(切记需要与配置文件中设定的文件目录相同名),在再该目录下创建index的首页文件
同时再创建一个跳转到的页面
在首页添加超链接:
在控制层的类中添加操作代码
运行程序:
运行结果如下所示:
在index文件中添加超链接:
在控制层的类中添加方法:
运行如下所示:
运行结果如下所示:
4.HidddenHttpMethodFilter处理put和delete请求
由于浏览器只支持发送get和post方式的请求,因此SpringMVC提供了HidddenHttpMethodFilter帮助我们将POST请求转换为DELETE或PUT请求HidddenHttpMethodFilter处理put和delete请求的条件:
1)当前请求的请求方式必须为post
2)当前请求必须传输请求参数_method
满足以上条件,HidddenHttpMethodFilter过滤器就会将当前请求的方式转换为请求参数_method的值,因为请求参数_method的值才是最终的请求方式
post:
在index.html文件中添加表单信息
在控制层的类中添加相应的方法
运行程序如下所示:
结果如下所示:
put:
使用过滤器解决当前的请求方式的问题
在Web.xml中设置请求方式的过滤器
在控制层类中添加相应方法
运行程序如下所示:
运行结果如下所示:
delete:
在index文件中添加表单
在控制层的类中添加相应方法
运行程序如下所示:
运行结果如下所示: