【转载】ssm框架下怎么访问WEB-INF下的静态文件

转自:http://blog.sina.com.cn/s/blog_13d23d8a80102x4jh.html

众所周知,放在WEB-INF下的文件在项目运行的时候是被隐藏起来得,也就是说,通过在浏览器下,即时填写的路径正确也读取不到静态文件。

传统的项目文件像jsp,js都是直接放在webroot下,也就是项目的根目录下。但如果有人偏偏想把jsp,js放在WEB-INF下怎么办。

这就要在ssm的配置文件里加一点东西了。一般的公司开发项目的时候也是这么做的。因为有些东西是重要文件是需要隐藏的。常规配置有三种,我就写一种在springMVC.xml下的配置方法。打开springMVC的配置文件在里面加如下代码:

关于ssm框架下怎么访问WEB-INF下的静态文件
怎么理解这些语句:比如第二句

当你引用一段js代码时,src=“js/test.js”,那么服务器就会去访问WEB-INF/JS/TEST.JS

为什么会这样呢?

这跟web.xml的配置有关,用ssm框架的时候,一定写过下面这段代码:

关于ssm框架下怎么访问WEB-INF下的静态文件
这段的意思是,任何请求都会被springMVC前段控制器拦截,也就是说src,href,里面的懂地址都会被前端控制器拦截。

而在springMVC.xml中的这一句

default-servlet-handler />
就会把拦截下来的请求进行分类,如果是服务器请求就就交给DispatcherServlet处理,如果不是就交给Web应用服务器处理。而Web应用服务器只能处理允许被访问的路径下的静态文件,也就是在WEB-INF,Web应用服务器是访问不到的。
而这一句
<mvc:resources location="/WEB-INF/js/" mapping="/js/**"/>
打破这一规则,不管文件在哪个目录下,通过这种映射都能访问到。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值