SpringMVC 拦截器(interceptors)对样式(css),JavaScript(js),图片(images)链接的拦截

因为在web.xml配置了

<servlet-mapping>
		<servlet-name>appServlet</servlet-name>
		<url-pattern>/</url-pattern>
</servlet-mapping>

导致对所有连接都会经DispatcherServlet,所以静态资源如css,js,images都会被过滤到,从而导致页面没法渲染成功。

不过,我们可以在主配置文件中,添加<mvc:resources location="">,从而能够使得静态资源不会经过DispatcherServlet,就可以成功渲染页面了。

      <!-- 处理静态资源的请求 -->
	<mvc:resources location="/WEB-INF/views/css/" mapping="/css/**" />
	<mvc:resources location="/WEB-INF/views/js/" mapping="/js/**" />
	<mvc:resources location="/images/" mapping="/images/**" />

然而,SpringMVC还有拦截器的机制(如果你没用拦截器,那么就不会有问题),反而就把我们静态资源的请求链接也给拦截了,

通过我在拦截器里输出看到了,确实会把静态资源的请求链接也拦截到了,所以我页面就会产生如下错误:

Resource interpreted as Stylesheet but transferred with MIME type text/html:

我还是没找到其他原因,所以就在拦截器上把静态资源的链接给过滤了,然后就没产生上面的问题了。

虽然在其他页面倒是没有产生上面的问题,不过把静态资源的链接过滤了,应该也不会产生什么影响。

<mvc:interceptors>
		<mvc:interceptor>
			<mvc:mapping path="/**"/> <!-- 因为我对所有链接都拦截,所以静态资源的链接也被拦截了 -->
			<mvc:exclude-mapping path="/js/**"/>
			<mvc:exclude-mapping path="/css/**"/>
			<mvc:exclude-mapping path="/images/**"/>
			<bean class="com.databasegroup.interceptor.AuthInterceptor"></bean>
		</mvc:interceptor>
</mvc:interceptors>

  

  

时间: 2024-07-31 18:34:52

SpringMVC 拦截器(interceptors)对样式(css),JavaScript(js),图片(images)链接的拦截的相关文章

拦截器interceptors

1. 基于HandlerMapping,对请求实施拦截,根据业务需求,基于不同的HandlerMapping定义多个拦截器 2. HandlerInterceptor接口 preHandle() postHandle() afterCompletion() 3. 自定义拦截器 第一步:写一个类继承HandlerInterceptor 第二步:重写preHandle() postHandle() afterCompletion()任意方法 第三步:配置 <!-- 配置拦截器 --> <mv

力所能及之struts2 拦截器定义的包不同是不是也要在其他包定义拦截器

小狼的定义拦截器拦截非登陆用户操作,但是我的action分别在不同的package中,是不是我的拦截器必须要在每个package中都要定义呢? 可不可以定义一个公用的? 这是必须的. <package name="default" extends="struts-default" namespace="/"> <interceptors> <interceptor name="custom" cl

http拦截器interceptors

在服务里配置$httpProvider.interceptors的相关参数 包含 request请求拦截 response响应拦截 requestError请求错误抛出 responseError响应错误抛出 应用场景 需要向服务器发送特定的头的时候 需要修改post方法的时候

Struts2自己定义拦截器实例—登陆权限验证

版本号:struts2.1.6 此实例实现功能:用户须要指定username登陆,登陆成功进入对应页面运行操作,否则返回到登陆页面进行登陆,当直接訪问操作页面(登陆后才干訪问的页面)时则不同意,须返回登陆页面. 代码例如以下: 一.页面 login.jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUB

Struts2他们拦截器实例定义—登陆权限验证

版本号:struts2.1.6 这种情况下实现功能:用户需要指定username登陆,进入相应的页面运行成功登陆作战,否则,它返回到着陆的登录页面,当直接进入操作页面(登陆访问页面后的能力)如果不同意,必须返回到登陆页面. 码,如以下: 一.页面 login.jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTM

SpringMVC拦截器(资源和权限管理)

1.DispatcherServlet SpringMVC具有统一的入口DispatcherServlet,所有的请求都通过DispatcherServlet.    DispatcherServlet是前置控制器,配置在web.xml文件中的.拦截匹配的请求,Servlet拦截匹配规则要自已定义,把拦截下来的请求,依据某某规则分发到目标Controller来处理.  所以我们现在web.xml中加入以下配置: [html] view plain copy print? <!-- 初始化 Dis

SpringMVC中使用Interceptor拦截器

SpringMVC 中的Interceptor 拦截器也是相当重要和相当有用的,它的主要作用是拦截用户的请求并进行相应的处理.比如通过它来进行权限验证,或者是来判断用户是否登陆,或者是像12306 那样子判断当前时间是否是购票时间. 一.定义Interceptor实现类 SpringMVC 中的Interceptor 拦截请求是通过HandlerInterceptor 来实现的.在SpringMVC 中定义一个Interceptor 非常简单,主要有两种方式,第一种方式是要定义的Intercep

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

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

SpringMVC拦截器的使用

SpringMVC 中的Interceptor 拦截器也是相当重要和相当有用的,它的主要作用是拦截用户的请求并进行相应的处理.比如通过它来进行权限验证,或者是来判断用户是否登陆,或者是像12306 那样子判断当前时间是否是购票时间. 一.springMVC拦截器的实现方式 springMVC拦截器的实现一般有两种方式:第一种方式是要定义的Interceptor类要实现了Spring的HandlerInterceptor 接口.第二种方式是继承实现了HandlerInterceptor接口的类,比

SpringMVC——拦截器及文件上传和下载

目录 自定义拦截器 拦截器类 在springmvc的配置文件中配置拦截器 文件上传 导入jar包 配置bean:multipartResolver 采用file.Transto 来保存上传的文件 文件下载 SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理.开发者可以自己定义一些拦截器来实现特定的功能. 过滤器与拦截器的区别:拦截器是AOP思想的具体应用. 过滤器: servlet规范中的一部分,任何java web工程都可以使用 在u