spring mvc 的url匹配怎么就这么烦呢?谁来解释解释

黄文祥 发布于 2013/03/08 17:16
阅读 1K+
收藏 0

这几天一直在学习和整合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 等资源访问不到 不知如何处理。





加载中
0
逝水fox
逝水fox

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

0
采飞扬
采飞扬
/* 所有的请求都会拦截呀
0
高得顺
高得顺
用注解吧...xml弄的忒烦
黄文祥
黄文祥
注解没有用过,何解?
0
純白陰影
純白陰影
这个不是spring mvc 是servlet
純白陰影
純白陰影
有些容器有名字为default的servlet,或者自己写个servlet继承spring的分发器,想怎么弄怎么弄
黄文祥
黄文祥
底层是servlet,servlet配置的拦截是“/”,这里倒是没有问题,问题就出现在拦截器和静态资源的路径配置问题
0
funny-guy
funny-guy

静态资源 可以在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>


返回顶部
顶部