(十四)springMvc 对 restful 的支持
restful 的概念
restful
是一种开发理念;
-
对
url
进行规范每个
url
代表一个资源,对这个资源的操作,不写在url
上 ;普通
url
: https://…//item//updateItem.action?id=001 ;我们可以看到这是一个更新资源的
url
,它在url
中写上了具体的操作 ;restful
url
: https://…//Item//001 ;url
很简洁,仅仅代表资源,里面不含有任何操作的信息 ; -
对
http
方法的规范不管是删除、更新、查找。使用的
url
都是一致的,使用对用的方法,去设置http
的方法 ;后台controller
判断方法,执行具体逻辑 ; -
对
http
contentType
的指定需要传什么数据,就指定具体的格式 ;
也就是 url
现在仅仅代表一个服务器上的资源,不再包含具体的操作;
配置支持 restful 的前端控制器
<!--************************************* 配置 restful的前端控制器 ********************************* -->
<servlet>
<servlet-name>springMvc_restful</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!--初始化读取配置文件,我们指定配置文件在哪;
否则默认加载 /WEB-INF/servlet-name-servlet.xml
我们这里的 servlet-name 是 springMvc ,那么就是去加载 springMvc-servlet.xml
-->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:/spring/springMvc.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>springMvc_restful</servlet-name>
<!--
1、 *.action 拦截 .action 结尾的url
2、/ 拦截所有url,即使是访问 静态资源也会被拦截,全部走前端控制器,可以实现 resultFul 风格的url
3、/* 这样配置不对,当转发到jsp页面时,还是会交给前端控制器,去找处理器
-->
<url-pattern>/</url-pattern>
</servlet-mapping>
配置不拦截静态资源
上面配置的 /
,前端控制器会拦截所有资源,我们要设置其不拦截 ,在 springMvc.xml
中进行配置;
<!--配置不拦截静态资源-->
<mvc:resources mapping="/js/*" location="/js/"></mvc:resources>