springMVC静态资源访问
来源:互联网 发布:java微信商城开源 编辑:程序博客网 时间:2024/05/22 14:44
我们在spring mvc框架中为了使URL更符合RESTful风格,通常在web.xml中会配置spring框架servlet 的 url 拦截为 “/” ,也就是拦截所有资源的url请求,包括静态的资源.css, .html, .htm, .jpg, .js, .png … 等等。但如果不对静态资源访问处理的话,将会出现404错误,所以有了对应servlet的url拦截为“/”的时候,对静态资源访问不应该经过servlet拦截的问题处理(如果 servlet-mapping 的 url-pattern 为 “*.do”,就是只拦截有一定后缀的url,那么就不会有静态资源访问的问题了。)
有以下三种方法:
1.在web.xml中配置多个defaultServlet来处理静态文件,要写在DispatcherServlet的前面, 让defaultServlet先拦截
<servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.jpg</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>
2.在spring-servlet.xml中配置
<mvc:resources mapping="/static/**" location="/static/" />
这种方式可以指定你的静态资源在你项目中的任何位置,包括在jar 里面,因为 配置中的 location 可以配置成 classpath:/com/ctx/…. 的形式
3.在spring-servlet.xml中配置
<mvc:default-servlet-handler/>
在spring-servlet.xml中配置后,会在springMVC上下文中定义个
org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler,它会像一个检查员,对进入DispatcherServlet的URL进行筛查,如果发现是静态资源的请求,就将该请求转由Web应用服务器默认的Servlet处理,如果不是静态资源的请求,才由DispatcherServlet继续处理。
一般Web应用服务器(tomcat)默认的Servlet名称是”default”,因此DefaultServletHttpRequestHandler可以找到它。
- SpringMVC访问静态资源
- SpringMVC访问静态资源
- springMVC访问静态资源
- springMVC 访问 静态资源
- SpringMVC访问静态资源
- Springmvc访问静态资源
- SpringMVC访问静态资源
- SpringMVC访问静态资源
- SpringMVC访问静态资源
- SpringMVC访问静态资源
- SpringMVC访问静态资源
- SpringMVC访问静态资源
- SpringMVC访问静态资源
- SpringMVC访问静态资源
- Springmvc 静态资源访问
- springMVC静态资源访问
- springmvc 静态资源访问
- SpringMVC 访问静态资源
- LeetCode - 3Sum
- 伪目标
- 操作系统一二章作业答案
- 推荐一些好的atom插件
- 10、Spring MVC 之 Flash attributes
- springMVC静态资源访问
- Hdfs杂技
- 设计模式
- hdu 5017 Ellipsoid 模拟退火
- 单片机
- [LeetCode]83. Remove Duplicates from Sorted List
- HBase中正则过滤表达式与JAVA正则表达式不一致问题的分析和解决
- Ubuntu下su:authentication failure的解决办法
- 优雅的加权并差集