springmvc 拦截js等静态资源的解决办法


1.0 js引入方式以及目录结构如图

springmvc 拦截js等静态资源的解决办法_第1张图片

2.0 js源码

$(document).ready(function(){
    alert("successful");
});

3.0 执行结果

springmvc 拦截js等静态资源的解决办法_第2张图片

alert未执行,js加载失败,回到项目代码,按Ctrl+鼠标可以进入js文件 排除路径错误

4.0 解决办法

在web.xml中添加如下代码

<servlet-mapping>    
    <servlet-name>defaultservlet-name>    
    <url-pattern>*.jsurl-pattern>   //拦截所有js文件 
    <url-pattern>*.cssurl-pattern>    
    <url-pattern>/js/*"url-pattern>   //拦截/js/路径下的所有文件,
servlet-mapping>
// <url-pattern>*.jsurl-pattern>   标签内写上要拦截的静态资源的路径
//上述拦截

在springmvc的配置文件中添加

default-servlet-handler/>

这里注意
springmvc 拦截js等静态资源的解决办法_第3张图片
要加上红框内的内容 否则会报错The prefix “mvc” for element “mvc:default-servlet-handler” is not bound

然后保存,运行

springmvc 拦截js等静态资源的解决办法_第4张图片.
成功!

< mvc:default-servlet-handler />的作用是在如果spring拦截的是静态资源,则spring不对他进行处理,交给web.xml进行处理也就是 我们添加的

<servlet-mapping>    
    <servlet-name>defaultservlet-name>    
    <url-pattern>*.jsurl-pattern>   //拦截所有js文件 
    <url-pattern>*.cssurl-pattern>    
    <url-pattern>/js/*"url-pattern>   //拦截/js/路径下的所有文件,
servlet-mapping>

4月9日 更新

这里会产生一个问题,会在我的 springmvc default-servlet-handler 拦截servlet问题 文章中解决

你可能感兴趣的:(spring,springmvc)