Spring MVC -- 去掉静态资源的拦截
<!-- springmvc的前端控制器 -->
<servlet>
<servlet-name>springMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!-- contextConfigLocation不是必须的
如果不配置contextConfigLocation
springmvc的配置文件默认在:WEB-INF/servlet的name+"-servlet.xml" --> <init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/springmvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet> <servlet-mapping>
<servlet-name>springMVC</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
/ 表示拦截所有的请求,包括静态资源 注意:当前端使用jsp java后端模板引擎时,/ 不会匹配到 .jsp ( 即 不会进入到项目中dispathservlet中,不会拦截 。jsp的请求,因为 jsp 在被访问时会解析,生成servlet,然后编译servlet,之后会被编译成为一个.class文件,实际是一个servlet在运行,因此可由web服务器直接访问。) /* 会匹配到。jsp的路径。即 会匹配项目所有路径。
<url-pattern>/</url-pattern> --表示拦截所有的请求,包括静态资源
2、去静态资源拦截有三种方式
1、在web.xml中配置映射
2、在springMVC.xml中配置映射
3、在springMVC.xml中添加静态资源默认Servlet处理
3、方式一
在web.xml中配置映射
<!-- 对静态资源的配置 -->
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.js</url-pattern>
<url-pattern>*.css</url-pattern>
<url-pattern>*.ico</url-pattern>
<url-pattern>/img/*</url-pattern>
<url-pattern>/fonts/*</url-pattern>
<url-pattern>/font/*</url-pattern>
</servlet-mapping>
Tomcat, Jetty, JBoss 自带的默认Servlet的名字 -- "default"
WebLogic 自带的 默认Servlet的名字 -- "FileServlet"
WebSphere 自带的 默认Servlet的名字 -- "SimpleFileServlet"
可以根据自身情况,来配置映射
注意: 请将它放在所有Servlet的最前面(为了让它最先匹配),这样的话性能上应该比较好
4、方式二
在springMVC.xml中添加静态资源的映射
<!-- 资源映射 -->
<mvc:resources location="/WEB-INF/css/" mapping="/css/**"/>
<mvc:resources location="/WEB-INF/js/" mapping="/js/**"/>
根据实际情况自行配置
5、方式三
在springMVC.xml中添加静态资源默认Servlet处理
<mvc:default-servlet-handler/> <!-- 也可以自行手动配置,自定义servlet -->
<mvc:default-servlet-handler default-servlet-name="myDefaultServlet"/>
注意: 这种方式对spring版本必须要求3.0.5及以上
Spring MVC -- 去掉静态资源的拦截的更多相关文章
- Spring MVC 处理静态资源文件
摘要: 三个方案: 1.方案一:激活Tomcat的defaultServlet来处理静态文件 2.方案二: 在spring3.0.4以后版本提供了mvc:resources (需要配置annotati ...
- 【Spring学习笔记-MVC-14】Spring MVC对静态资源的访问
作者:ssslinppp 参考链接: http://www.cnblogs.com/luxh/archive/2013/03/14/2959207.html http://www.cnb ...
- Spring MVC配置静态资源和资源包
Spring MVC配置静态资源和资源包 本例映射:css目录: pom.xml <properties> <spring.version>4.3.5.RELEASE</ ...
- Spring MVC 读取静态资源时404错误
背景:web.xml配置时拦截策略是拦截所有请求: <servlet> <servlet-name>springmvc</servlet-name> <ser ...
- spring mvc对静态资源的访问
如果我们的项目使用的是springmvc,在web.xml中会有一段这的配置. <servlet> <servlet-name>springMvc</servlet-na ...
- Spring Boot干货:静态资源和拦截器处理
前言 本章我们来介绍下SpringBoot对静态资源的支持以及很重要的一个类WebMvcConfigurerAdapter. 正文 前面章节我们也有简单介绍过SpringBoot中对静态资源的默认支持 ...
- spring mvc处理静态资源
servlet的url映射定义为'/'表示映射全部路径 struts的过滤器是*.action,在spring mvc中设置成*.action或者*.do......也是可以的,但是spring mv ...
- Spring Boot2.0 静态资源被拦截问题
在Spring Boot2.0+的版本中,只要用户自定义了拦截器,则静态资源会被拦截.但是在spring1.0+的版本中,是不会拦截静态资源的. 因此,在使用Spring Boot2.0+时,配置拦截 ...
- springMVC去掉静态资源的拦截
前端控制器的配置 <!-- springmvc的前端控制器 --> <servlet> <servlet-name>springMVC</servlet-na ...
随机推荐
- 【hdu 6067】Big Integer
题意 给你一个 \((k-1)\times (n+1)\) 的 \(01\) 矩阵 \(g\),求满足下列条件的 \(k(k\le 10)\) 进制整数的数量: 1. 不超过 \(n\) 位且数的最高 ...
- Summer training round2 #1
A:水 B:求两个三角形之间的位置关系:相交 相离 内含 ①用三个点是否在三角形内外判断 计算MA*MB.MB*MC.MC*MA的大小 若这三个值同号,那么在三角形的内部,异号在外部 #incl ...
- java基础笔试题一
1.Vector和ArrayList的区别 答:Vector的方法都是同步的(Synchronized),是线程安全的(thread-safe),而ArrayList的方法不是,由于线程的同步必然要影 ...
- 防sql注入方法
mysql_escape_string(strip_tags($arr)) /** * 函数名称:post_check() * 函数作用:对提交的编辑内容进行处理 * 参 数:$post: 要提交的内 ...
- ora 12518监听程序无法分发客户机连接
首先修改ORACLE的PROCESS.SESSION数量 查看当前ORALCE PROCESS数量 SQL> show parameter process 查看当前ORALCE SESSION数 ...
- ORACLE纯SQL实现多行合并一行
项目中遇到一个需求,需要将多行合并为一行.表结构如下:NAME Null Type---------------------- ...
- Spring源代码下载和导入eclipse
下载源代码包并解压,我下载的是3.2版本,下载地址在https://github.com/spring-projects/spring-framework/tree/3.2.x 因为Spring是使用 ...
- web性能优化-浏览器渲染原理
在web性能优化-浏览器工作原理中讲到,浏览器渲染是在renderer process中完成的. 那我们来看下renderer process究竟干了什么? Renderer Process包含的线程 ...
- Python 异常处理Ⅲ
使用except而不带任何异常类型 你可以不带任何异常类型使用except,如下实例: 以上方式try-except语句捕获所有发生的异常.但这不是一个很好的方式,我们不能通过该程序识别出具体的异常信 ...
- 「HAOI2016」食物链
题目链接 解题思路 简单的DAG上DP即可. 参考程序 #include <bits/stdc++.h> using namespace std; const int Maxn = 100 ...