SpringMVC 过滤器

作者: 飞翔的鲲 | 来源:发表于2018-04-28 14:54 被阅读36次
    1. web.xml 配置请求拦截路径。
     <!--spring-mvc-->
        <servlet>
            <servlet-name>spring-mvc</servlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
            <init-param>
                <param-name>contextConfigLocation</param-name>
                <param-value>classpath:spring-mvc.xml</param-value>
            </init-param>
            <load-on-startup>1</load-on-startup>
        </servlet>
    
        <!--设置请求后缀-->
        <servlet-mapping>
            <servlet-name>spring-mvc</servlet-name>
            <!--只有后缀是htm的请求路径才被SpringMVC拦截处理-->
            <!--<url-pattern>*.htm</url-pattern>-->
            <!--所有请求都会被SpringMVC拦截处理-->
            <url-pattern>/</url-pattern>
        </servlet-mapping>
    
    1. spring-mvc.xml 配置拦截路径
      进入SpringMVC的请求,会匹配路径:
      如果请求路径访问的是静态资源,则直接访问。
      如果访问的不是静态资源文件,则调controller。如果想只访问controller,可以在web.xml里SpringMVC的请求路径配置过滤器,.htm, .do,.action等,这样.html或其他访问资源的请求就不会被SpringMVC响应。

    1) 静态资源文件拦截

     <mvc:resources mapping="/res-admin/**" location="/resources-admin/"/>
    
    <!-- 后使用这种方式 -->
     <mvc:default-servlet-handler/>
    

    这样配置,当请求路径这样时:http://localhost:8080/res-admin/index.html, 就能够访问到 resources-admin 目录下的资源文件。不配置需要resources-admin这样才能访问到。

    image.png

    webapp目录下的资源可以被随意访问到,但WEB-INF目录下的资源不能访问,这时,可以使用配置<mvc:resources/>就能够暴露WEB-INF下的资源文件了。

    2) controller路径访问
    如果请求路径不是请求资源路径,则会根据相应路径请求controller, 如果有后缀,其实有跟没有一样,请求时他会将 .* 后缀去了匹配。
    比如在web.xml配置SpringMVC请求路径不过滤。
    请求路径: http://localhost:8080/back/index.htmhttp://localhost:8080/back/index.h, http://localhost:8080/back/index. , http://localhost:8080/back/index 都能请求到。

     <!--设置请求后缀-->
        <servlet-mapping>
            <servlet-name>spring-mvc</servlet-name>
            <!--只有后缀是htm的请求路径才被SpringMVC拦截处理-->
            <!--<url-pattern>*.htm</url-pattern>-->
            <!--所有请求都会被SpringMVC拦截处理-->
            <url-pattern>/</url-pattern>
        </servlet-mapping>
    

    相关文章

      网友评论

        本文标题:SpringMVC 过滤器

        本文链接:https://www.haomeiwen.com/subject/vzsglftx.html