(十四)springMvc 对 restful 的支持

restful 的概念

restful 是一种开发理念;

  1. url 进行规范

    每个 url 代表一个资源,对这个资源的操作,不写在 url 上 ;

    普通 url : https://…//item//updateItem.action?id=001 ;

    我们可以看到这是一个更新资源的 url,它在 url 中写上了具体的操作 ;

    restful url : https://…//Item//001 ;

    url 很简洁,仅仅代表资源,里面不含有任何操作的信息 ;

  2. http 方法的规范

    不管是删除、更新、查找。使用的 url 都是一致的,使用对用的方法,去设置 http 的方法 ;后台 controller 判断方法,执行具体逻辑 ;

  3. 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>
posted @ 2018-09-22 20:06  Yiaz  阅读(94)  评论(0编辑  收藏  举报