springMVC对静态资源的拦截问题

问题描述

无论我怎么陪web.xml的拦截。/或者/uc/*我的静态资源都被拦截了。 <servlet-mapping> <servlet-name>yinhex</servlet-name> <url-pattern>/uc/*</url-pattern> </servlet-mapping> 配置为: < mvc:resources mapping="/javascripts/**"location="/javascripts/"/> <mvc:resources mapping="/themes/**" location="/css/" /> <mvc:resources mapping="/upload/**" location="/upload/"/> 访问路径为: http://localhost:8080/yinhex/index/javascripts/jquery.bgiframe.js index为controller的注解.为什么还是被拦截了呢???导致静态资源不可用 @Controller@RequestMapping("/index")public class IndexController{@Resource(name="userService")private UserService userService; @RequestMapping(value = "index", method = { RequestMethod.GET, RequestMethod.POST })public ModelAndView handleRequest(HttpServletRequest request,HttpServletResponse response) throws Exception {ModelAndView mav = new ModelAndView();System.out.println("---======11111我进来啦TestController");User user = userService.login("liujiebinhe@126.com", "liuxuejin");System.out.println("==============="+user.getUserName());mav.addObject("test", "hello world!");mav.setViewName("main");System.out.println("---======11111我进来啦TestController");return mav;}然后访问:http://localhost:8080/yinhex/uc/index/index的时候 } http://localhost:8080/yinhex/uc/index/javascripts/jquery.bgiframe.js 静态资源就无法获得!求大神解释 问题补充:suziwen 写道

解决方案

如果web.xml中spring mvc配置的过滤是<url-pattern>/</url-pattern>的话. 可以如下配置:<servlet-mapping><servlet-name>default</servlet-name><url-pattern>*.css</url-pattern></servlet-mapping><servlet-mapping><servlet-name>default</servlet-name><url-pattern>*.gif</url-pattern></servlet-mapping>类推 把所有静态放进来即可
解决方案二:
<url-pattern>/uc/*</url-pattern> 最好不要写/*,那样是默认拦截所在的请求,所以可以改写成一些自定义的后缀,比如/do等,你想要被spring拦截的后缀。。这样,你的静态资源就不会被拦截了。。
解决方案三:
你的配置里已经配置了index,spring肯定先找你对应的controller,而不是先找静态资源了静态资源的路径最好 不要跟controller的配置的路径相同

时间: 2024-11-27 13:18:49

springMVC对静态资源的拦截问题的相关文章

SpringMVC 处理静态资源 &amp;lt;mvc:default-servlet-handler/&amp;gt;

SpringMVC 处理静态资源: 1. 为甚么会有这样的问题: 优雅的 REST 风格的资源URL 不希望带 .html 或 .do 等后缀 若将 DispatcherServlet 请求映射配置为 / , 则SpringMVC 将捕获WEB 容器的所有请求, 包括静态资源的请求, SpringMVC 会将他们当成一个普通请求处理, 因找不到对应处理器将导致错误. 2. 解决:在 SpringMVC 的配置文件中配置<mvc:default-servlet-handler/> 的方式解决静态

【SpringMVC】SpringMVC基础-静态资源映射、拦截器配置、@ControllerAdvice与其他基本配置

转载请注明出处http://blog.csdn.net/qq_26525215 本文源自[大学之旅_谙忆的博客] Spring MVC的定制配置需要我们的配置类继承一个WebMvcConfigurerAdapter类并在此类使用@EnableWebMvc注解来开启对Spring MVC的配置支持这样我们就可以重写这个类的方法完成我们的常用配置. 静态资源映射 程序的静态文件(js.css.图片)等需要直接访问这时我们可以在配置里重写addResourceHandlers方法来实现. 示例 1.添

SpringMVC访问静态资源的三种方式

 如果你的DispatcherServlet拦截 *.do这样的URL,就不存在访问不到静态资源的问题.如果你的DispatcherServlet拦截"/",拦截了所有的请求,同时对*.js,*.jpg的访问也就被拦截了. 问题原因:罪魁祸首是web.xml下对spring的DispatcherServlet请求url映射的配置,原配置如下: [html] view plain copy   <servlet>       <servlet-name>sprin

【spring boot】7.静态资源和拦截器处理 以及继承WebMvcConfigurerAdapter类进行更多自定义配置

   开头是鸡蛋,后面全靠编!!! ========================================================  1.默认静态资源映射路径以及优先顺序   Spring Boot 默认为我们提供了静态资源处理,使用 WebMvcAutoConfiguration 中的配置各种属性. 建议大家使用Spring Boot的默认配置方式,提供的静态资源映射如下: classpath:/META-INF/resources classpath:/resources

配置-关于spring mvc静态资源 加载的问题

问题描述 关于spring mvc静态资源 加载的问题 浏览器报了这样的错误 然后小弟的项目里面是这样配置滴: 解决方案 第一行错误就显示jquery没找到,$肯定也就不好使了.可以在src里加上"${pageContext.request.contextPath}/"配完整路径 解决方案二: 不能用 /js 开头,应该这样写:/web工程名/js .... 这是个非常基础的问题,建议看下 html 相关知识 解决方案三: 1可能是你用的SpringMVC框架,拦截了静态资源.你检查下

SpringMVC处理静态文件源码分析

SpringMVC处理静态资源,主要是两个标签,mvc:resources和mvc:default-servlet-handler.在详细说明他们的原理之前,需要先简单说明下SpringMVC中请求处理机制:HandlerMapping和HandlerAdapter. 1 HandlerMapping和HandlerAdapter的来由 用过python Django框架的都知道Django对于访问方式的配置就是,一个url路径和一个函数配对,你访问这个url,就会直接调用这个函数,简单明了 然

Spring MVC中如何防止静态资源被Interceptor过滤

问题描述 我的配置是web.xml<servlet> <servlet-name>appServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name>

servlet-spring拦截静态资源的问题

问题描述 spring拦截静态资源的问题 servlet是 /的 然后我另一个controller路径是"/topic"然后就找不到css,js了 就是/topic/xxx的页面都没有css和js, 配置文件是这样的 就是topic文件夹的页面都load不到静态资源...,求解 解决方案 spring 静态文件拦截问题spring-mvc不拦截静态资源的配置spring 静态资源 解决方案二: http://blog.csdn.net/pdw2009/article/details/4

spring-使用SpringMVC 静态资源访问 报错ConversionFailedException

问题描述 使用SpringMVC 静态资源访问 报错ConversionFailedException 使用的spring 版本是 4.20 在springmvc配置 报错很奇怪.. 解决方案 该错误是因为: 1.内嵌jetty在运行时会锁定静态资源:因此在运行过程中不能删除静态资源: 2.问题的根源是启动了多个jetty实例,但是实际没有报端口冲突,可以检查任务管理器看是否有多个java/javaw进程在运行,如果是杀掉进程然后重试. 解决方案二: 配置这个没? <mvc:resources