REST:
即Representational State Transfer.(资源)表现层状态转化。
资源:代表网络上的一个实体,在服务器端真是存在的资源,每种资源对应一个特定的url
表现层:资源呈现在客户端的具体形式
状态转换:状态转换建立在表现层之上
具体说,就是Http协议里面,四个表示操作方式的动词:GET/POST/PUT/DELETE
他们分别对应四种基本操作:
GET:用来获取资源
<p>Get风格的url</p>
<a href="springmvc/restGet/12">获取用户信息</a>
POST:用来新建资源
<p>Post风格的url</p>
<form method="post" action="springmvc/restPost/">
<input type="submit" value="POST"/>
</form>
PUT:用来更新资源
<p>Put风格的url</p>
<form action="springmvc/restPut/12/zhangsan" method="post">
<input type="hidden" value="PUT" name="_method"/>
<input type="submit" value="PUT"/>
</form>
DELETE:用来删除资源
<p>Delete风格的url</p>
<form method="post" action="springmvc/restDelete/12">
<input name="_method" value="DELETE" type="hidden"/>
<input type="submit" value="DELETE"/>
</form>
HiddenHttpMethodFilter: 过滤器,可以过滤我们所有的请求,并且可以将请求细分为四种
如果是get请求 => get请求
如果是post请求 => 寻找请求参数,是否有一个名字为_method这样的一个请求方式
如果有,会查看_method对应的值是delete或者put请求
如果没有,则判断为 => post请求
注意:
在使用REST风格请求方式前,必须先在web.xml中配置好HiddenHttpMethodFilter过滤器
<!-- 配置过滤器HiddenHttpMethodFilter过滤put方法与delete方法 -->
<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>