关于ssm框架下怎么访问WEB-INF下的静态文件

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

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

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

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

为什么会这样呢?

这跟web.xml的配置有关,用ssm框架的时候,一定写过下面这段代码:
这段的意思是,任何请求都会被springMVC前段控制器拦截,也就是说src,href,里面的懂地址都会被前端控制器拦截。

而在springMVC.xml中的这一句

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

你可能感兴趣的:(框架)