spring mvc的拦截器无效

spring mvc的拦截器无效

开始学习spring mvc时,使用拦截器,但是配置后无效,在网上找了很久都没用,有的说是mvc:annotation-driven/和拦截器有冲突,删除后确实可以使用,但需要重新配置静态资源的配置,后来发现将applicationContext.xml的拦截器配置放到dispatcherServlet.xml中,这两者并不冲突。
dispatcherServlet.xml的配置

    <context:component-scan base-package="org.controller"/>

    <mvc:annotation-driven/>
    <!--    1.响应ajax请求,返回json
            2.静态资源的配置-->

<!--    <mvc:default-servlet-handler/>-->

    <mvc:interceptors>
        <bean class="org.interceptor.DefaultInterceptor"/>
        <mvc:interceptor>
            <mvc:mapping path="/**"/>
            <mvc:exclude-mapping path="/static/html/user/login.html"/>
            <mvc:exclude-mapping path="/static/html/user/register.html"/>
            <mvc:exclude-mapping path="/existUser.do"/>
            <bean class="org.interceptor.MyInterceptor"/>
        </mvc:interceptor>
    </mvc:interceptors>

    <mvc:resources mapping="/static/**" location="/static/"/>

后来在配置exclude-mapping时发现配置的不起作用,经过查找,exclude-mapping问题,发现需要将path写全,即从项目名称开始的路径,才会起作用。

<mvc:mapping path="/**"/>
<mvc:exclude-mapping path="/static/html/user/login.html"/>
<mvc:exclude-mapping path="/static/html/user/register.html"/>
<mvc:exclude-mapping path="/static/js/**"/>
<mvc:exclude-mapping path="/static/layui/**"/>
<mvc:exclude-mapping path="/existUser.do"/>

附上链接地址:拦截器

你可能感兴趣的:(spring,mvc,java,springmvc)