您的位置:首页 > 编程语言 > Java开发

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

2016-06-16 21:46 405 查看


问题提出:


       当在工程中引入.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>
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Spring XML spring mvc 框架