springMVC设置静态资源过滤器,过滤js、css、images等静态资源
首先看个index.jsp首页的代码
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>主页</title><script src="js/jquery.min.js"></script><script>$(function(){$("#btn").click(function(){alert("hello btn");});});</script></head><body><br/><button id="btn">提交</button></body>
</html>
页面代码很简单,就一个简单的按钮,点击弹出“hello btn”这样一个事件。但在没有配置静态资源过滤器的情况下,springMVC会拦截掉jquery.min.js
文件的加载,让这样简单的一个需求都实现不了。
<servlet><servlet-name>DispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:springmvc.xml</param-value></init-param><load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping><servlet-name>DispatcherServlet</servlet-name><url-pattern>/</url-pattern>
</servlet-mapping>
在上述DispatcherServlet
的配置中,我们默认该控制器会控制所有资源,所有请求。页面在加载过程中,需要请求静态资源的js文件,而这一请求被该控制器所拦截,所以demo的效果就是点击按钮没有任何反应,跟没有引入js文件是一个效果。
<mvc:resources mapping="/images/**" location="/images/" /><mvc:resources mapping="/js/**" location="/js/" /><mvc:resources mapping="/css/**" location="/css/" />
在springmvc.xml文件中加入以上三个资源映射,当然具体的文件名可以与上面的不一样。这样可以在加载js文件的时候,跳过DispatcherServlet的控制。当然还有其它方法可以实现,比如在DispatcherServlet前加上defaultServlet,先对js等静态资源进行拦截,这样该类请求就不会交由springmvc处理了。
这里提一下误区,上面提到的js/css/images
三个Directory静态资源目录,千万千万不能建在WEB-INF
目录下,这种目录在配置文件中识别不了,并且mvc:resources
会显示红色。直接创建在webapp
下面,让该类目录与WEN-INF
平级。
设置有效的资源目录,在springmvc.xml
文件中不会出现红色的报错,另外,映入的js文件,通过ctrl
+鼠标左键可以直接访问查看。
springMVC设置静态资源过滤器,过滤js、css、images等静态资源相关推荐
- css实现贝塞尔静态图_使用高级CSS条形图构建静态投资组合
css实现贝塞尔静态图 在上一篇文章中 ,我向您展示了如何构建漂亮的全屏投资组合页面. 在该教程中,我们还学习了如何创建响应式CSS柱形图. 在本教程中,我们将构建另一个吸引人的静态投资组合页面,这次 ...
- html设置文本框只读属性,juqery/js/css设置文本框只读属性的方法
一.设置HTML表单文本框为只读的几种方式 有时候,我们希望表单中的文本框是只读的,让用户只能查看信息而不能修改其中的信息,使 input type="text" name=&qu ...
- ANT自动化压缩合并JS/CSS和更改版本号
2019独角兽企业重金招聘Python工程师标准>>> 转载至:http://blog.sina.com.cn/s/blog_8564e55a01011fhw.html 最近做到了前 ...
- springmvc如何访问静态文件,例如jpg,js,css
你怎么DispatcherServlet拦截"*.do"这有一个后缀URL.就不存在訪问不到静态资源的问题. 假设你的DispatcherServlet拦截"/&qu ...
- golang打包HTML为Android,使用Go开发Web服务,并打包html/js/css等静态资源文件
Go的高性能,使它天生适合开发io方面的服务,Web服务当然不再话下.同时,Go编译后生成的单文件不是字节码,而是对应平台的机器码,因此它效率更高.资源占用更低. 为了更好的进程程序管理,移动程序时更 ...
- Spring3中js/css/jpg/gif等静态资源无法找到(No mapping found for HTTP request with URI)问题解决...
最近项目中使用到Spring3,在感叹Spring3注解配置清爽的同时竟然出现了这个不和谐的事情,实在无法忍受 问 题:部署项目后程序加载或用浏览器访问时出现类似的警告,2011-01-19 10:5 ...
- Spring3中js/css/jpg/gif等静态资源无法找到(No mapping found for HTTP request with URI)问题解决--转载...
原文地址:http://www.programgo.com/article/96083031845/ 最近项目中使用到Spring3,在感叹Spring3注解配置清爽的同时竟然出现了这个不和谐的事情, ...
- Spring3中js/css/jpg/gif等静态资源无法找到(No mapping found for HTTP request with URI)问题解决(转)...
最近项目中使用到Spring3,在感叹Spring3注解配置清爽的同时竟然出现了这个不和谐的事情,实在无法忍受 问题:部署项目后程序加载或用浏览器访问时出现类似的警告,2011-01-19 10:52 ...
- 解决SSM项目下静态资源(img、js、css)无法引用的问题
解决SSM项目下静态资源(img.js.css)无法引用的问题 参考文章: (1)解决SSM项目下静态资源(img.js.css)无法引用的问题 (2)https://www.cnblogs.com/ ...
最新文章
- Java面试通关要点汇总集之核心篇参考答案
- UVA11722(见面概率)
- 在 Scale Up 中使用 Health Check - 每天5分钟玩转 Docker 容器技术(145)
- inux时间问题两篇
- 首次落地中国大陆的OpenInfra:中国对于开源做出的贡献力量已不可忽视
- 【Qt】QTableView中嵌入复选框CheckBox 的四种方法总结
- 软件版本控制Subversion和Git
- iOSpush过后返回多级界面
- 自然语言处理 -- NLP作业 1 :训练词向量
- 【Windows MTU】Windows上最大传输单元MTU值的查看和设置
- 程序员被离职赔偿18万,房贷八千,只够还一年半,领导:回来上班
- ORACLE语句基本优化
- PRACH, preamble, RO 的关系与区别
- scss 转换成css,如何将scss转换为css
- 前端打包工具webpack和Vite
- linux egrep命令使用示例
- java71-GUL边界布局管理器
- [ WARN] [1588040435.867625184]: MessageFilter [target=odom ]: Dropped 97.37% of messages so
- 安装spconv踩的坑
- 该不该用存储过程?什么情况下使用存储过程?
热门文章
- 如何制作出色的R可重现示例
- 如何使用extern在源文件之间共享变量?
- win11的附件在哪 windows11附件的查看方法
- TCP/IP:ARP与RARP详细解析
- Arduino采集Microzone遥控器信号(ROSMicrozoneBridge)
- docker es持久化_docker如何保持数据持久化?其实可以考虑通过数据卷挂载的方式~...
- r语言清除变量_R语言:结构方程模型、潜变量分析
- 朴素贝叶斯-垃圾邮件(中文的)处理
- 求2014年九月国二c语言考试小抄,2014年全国计算机等级二级C语言上机考前预测(含答案)17...
- MySQL——优化ORDER BY语句