5
回答
spring mvc 的url匹配怎么就这么烦呢?谁来解释解释
极速云服务器,低至1.04元/天>>>   

这几天一直在学习和整合spring mvc,在使用拦截器的和静态资源加载的时候url正则就烦了,谁来帮我讲讲这个如何操作。

以下是拦截器的配置:

说明下,配置成 /*/* 是为了能拦截到  /xx/xx 这样的url(也是为了拦截所有的请求),当配置成/*的时候对 /xx/xx的url请求就拦截不到了。 

对于这里配置中的 * 与** 有什么区别吗?

<!-- 拦截器 -->
	<mvc:interceptors>
		<mvc:interceptor>
			<mvc:mapping path="/*/*"/>
			<bean class="com.xx.framework.interceptor.RolePathHandlerInterceptor" />
		</mvc:interceptor>
	</mvc:interceptors>
静态资源访问的url

<resources mapping="/resources/**" location="/resources/" />
web.xml中的spring mvc 配置是:

<servlet-mapping>
		<servlet-name>frameworkServlet</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>
当时这样配置后,总是有很多js和css 等资源访问不到 不知如何处理。





举报
黄文祥
发帖于5年前 5回/1K+阅
共有5个答案 最后回答: 5年前

下午给web.xml加了个mapping,让spring处理/file/*的请求,然后就无论如何都匹配不上Handler...最后没法bebug进去看代码,发现声明的地方不能用 /file/image这样的写法,要写成image

这个不是spring mvc 是servlet
--- 共有 2 条评论 ---
純白陰影有些容器有名字为default的servlet,或者自己写个servlet继承spring的分发器,想怎么弄怎么弄 5年前 回复
黄文祥底层是servlet,servlet配置的拦截是“/”,这里倒是没有问题,问题就出现在拦截器和静态资源的路径配置问题 5年前 回复

静态资源 可以在web.xml中加上


<!-- 静态资源映射 -->
    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.jpg</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.png</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.gif</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.js</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.css</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.swf</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.ico</url-pattern>
    </servlet-mapping>


顶部