解决SpringMVC拦截器拦截静态资源的问题。

在使用SpringMVC进行开发的时候,遇到了以下代码不能执行的情况。而且我已经正确导入了JQuery框架。

<script type="text/javascript">
    $(function(){
        alert("你好啊");
    })
</script>

明明记得之前是可以执行的为什么现在却不能了。在浏览器的开发这工具上只能看到 SyntaxError: expected expression, got ‘<‘[详细了解] 这个报错。

网上看了很多文章,自己也尝试了各种办法还是不能解决。整整耗了一天。最后我使用了最笨的办法。既然是之前可以执行然后因为我修改了某些地方导致不能执行。那我只要找到由可以执行变成不可以执行的那两个相邻的版本,对比这两个版本的不同。就可以找出来是什么原因导致的了。

于是我就从我这四百个版本的代码当中使用二分法。将代码检出,运行,再检出运行(真的是太费劲了),费了九牛二虎之力终于找到了。这两个相邻的版本只有一个字母的差别。

这是前一个版本

这是后一个版本。

真相大白,由于之前做好登陆功能后,嫌做测试的时候经常需要登录,所以就把拦截所有请求的这一个设置随便添加了一个字母上去,变成了只拦截这个不存在的请求,也就相当于所有的请求都不拦截。所以我的JQuery框架源代码没有被拦截。此时我上面贴的JQuery代码是可以运行的等到后来我又把它改为拦截所有请求(然而此时我还不知道从现在开始,我上面贴的那段JQuery代码已经不能运行了)。所以后面我一直开发了两百多个版本以后才发现。此时的我恍然大悟,终于知道之前看到的文章说是Ajax不能执行是因为静态资源被拦截了(当时还不相信我的是静态资源被拦截导致的,因为我这个没有Ajax啊)。

  所以,当知道问题的原因后一切都可以解决了。不知道问题原因的问题才是最难解决的问题。为了解决问题搜了不拦截静态资源的文章。这里找到一篇还不错。

这是原文链接 https://www.cnblogs.com/wyb628/p/6813985.html

我把文章截图放下面

一、

二、

时间: 2024-11-06 13:24:57

解决SpringMVC拦截器拦截静态资源的问题。的相关文章

27.Spring-Boot中拦截器中静态资源的处理(踩过坑)以及Spring mvc configuring拓展介绍

一.springboot中对静态资源的处理 默认情况下,springboot提供存放放置静态资源的文件夹: /static /public /resources /META-INF/resources 对于maven项目即就是存在src/main/resources 文件夹下. ? 如图:static文件夹就是springboot中默认的文件夹 在页面中这样写路径<link href="themes/bootstrap.min.css" rel="stylesheet&

spring拦截器排除 静态资源

拦截器需要排除静态资源,不然会造成资源浪费 <!-- 拦截器 --> <mvc:interceptors> <!-- 使用bean定义一个Interceptor,直接定义在mvc:interceptors根下面的Interceptor将拦截所有的请求 --> <mvc:interceptor> <mvc:mapping path="/**"/> <mvc:exclude-mapping path="/resou

SpringMVC处理请求释放静态资源的三种方式

方式一 在SpringMVC的配置文件中添加如下语句 <mvc:default-servlet-handler/> 说明:当SpringMVC前端控制器对静态资源进行拦截后,在通过处理器映射器找不到相关处理器的情况下该请求会被tomcat中web.xml中默认配置的Servlet拦截. 方式二 SpringMVC的配置文件中添加指定的目录,使这些路径不经过前端控制器 <mvc:resources mapping="/js/**" location="/js/

spring 拦截器拦截点的配置

实用正则org.springframework.aop.support.RegexpMethodPointcutAdvisor 然后 <property name="advice"> <ref local="methodCacheInterceptor"/> </property> <property name="patterns"> <list> <value>.*_cac

在JSP中常见问题,防止SpringMVC拦截器拦截js等静态资源文件的解决方案

方案一.拦截器中增加针对静态资源不进行过滤(涉及spring-mvc.xml) <mvc:resources location="/" mapping="/**/*.js"/> <mvc:resources location="/" mapping="/**/*.css"/> <mvc:resources location="/assets/" mapping="/a

SpringMVC拦截器2(资源和权限管理)(作为补充说明)

SpringMVC拦截器(资源和权限管理) 1.DispatcherServlet SpringMVC具有统一的入口DispatcherServlet,所有的请求都通过DispatcherServlet.    DispatcherServlet是前置控制器,配置在web.xml文件中的.拦截匹配的请求,Servlet拦截匹配规则要自已定义,把拦截下来的请求,依据某某规则分发到目标Controller来处理.  所以我们现在web.xml中加入以下配置: [html] view plain co

关于Spring boot2.0+配置拦截器拦截静态资源的问题

第一次遇到这个问题的时候,简直是一脸蒙逼,写了一个拦截器以后,静态资源就不能访问了,到处查找才知道是版本问题 解决办法: 第一步:定义一个类实现 实现WebMvcConfigurer的类中拦截器中添加放行资源处添加静态资源文件路径: @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(sessionInterceptor).addPathPatterns("/&

springmvc的DispatcherServlet拦截以及访问静态资源html、js、css 404问题

之前一直使用*.do来做的,但是绝的*.do很丑,于是就改用“/”来配置: 1 2 3 4 5 6 7 8 9 10 <servlet>      <servlet-name>dispatcherServlet</servlet-name>      <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>      <load-on-s

SpringMVC拦截器拦截不到的uri怎么处理?

这次项目中遇到一个平时没有注意的问题,那就是SpringMVC的拦截器. <mvc:mapping path="/**"/> 这个配置大家应该很熟悉了,这个配置会拦截所有匹配/**的请求,例如 http://localhost:8080/xx, http://localhost:8080/xx/xx, http://localhost:8080/yy/xx/aa 但是 对于这样的请求会拦截吗?http://localhost:8080/xx/ http://localhos