SpringMVC框架中,静态资源(如外部js)无法访问的问题

来源:互联网 发布:wifi有信号连不上网络 编辑:程序博客网 时间:2024/06/05 14:40


问题提出:

       当在工程中引入.js文件,在JSP页面上,准备引用外部JS时,发现无法引用,这是因为SpringMVC的配置有问题

问题解决:

      需要在SpringMVC工程的IOC容器(即springMVC的xml配置文件中),加入

   <mvc:default-servlet-handler/>

      其原因是,在配置文件中DispatcherServlet拦截的是/,即所有的URL请求,而.js的请求被拦截后,又没有对应的mapping可以处理,所以就会报错,配置了default-servlet-handler后,请求就可以被默认拦截器先拦截,对这类请求找到资源并给予相应


问题后续

      发现加入注解之后,虽然注入XXX.js的URL可以响应,但是,之前在Controller中配置的mapping却都失效了。此时需要加上如下配置即可,是因为这个标签会自动注册两个重要的类,即DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter,这两个类可以解析Controller中的RequestMapping。

  <mvc:annotation-driven></mvc:annotation-driven>


 

0 0
原创粉丝点击