周一至五早8点半!精品技术文章准时送上!
上一篇我们讲通过springboot如何整合Servlet、Filter、Listener,这里不懂的同学可以参看下前面的文章《
SpringBoot整合Servlet/Filter/Listener
》,这里就不再多说了,本篇我们来看看SpringBoot是如何访问静态资源的,这篇内容相对比较简单。
在此之前我们在springboot-demo父工程下面创建一个子项目:05-springboot-static,并修改pom文件添加web依赖,并且创建启动类。这里就不在贴代码了,参看前面的helloworld项目《SpringBoot的介绍与搭建》。具体目录结构如下:
pom的web依赖!!!
启动项目,如果能够正常启动,那么我们前期准备工作就完成了。SpringBoot读取静态资源的地方有两个地方可以直接读取:
从classpath/static的目录下读取。
从servletContext的根目录下读取。
1
从classpath/static的目录下读取静态资源
首先我们来看看怎么样从classpath / static 的目录下读取静态资源,这里要注意的是:目录名称必须是static,切记,切记,切记!!!
为了演示我们在resources下面创建一个static的文件夹,并在static下创建html和image文件夹,然后分别在html下创建一个index.html的页面文件与在image下放一张图片。结构如下:
重新启动该项目在浏览器访问:http://127.0.0.1:8080/html/index.html 看看有没有显示我们想要的页面,具体如下:
或者再在浏览器直接访问图片:http://127.0.0.1:8080/image/logo.jpg,这里就不再截图了。
从上述的结果我们可以看出,在classpath/static目录下的文件是可以被直接访问的。所有通过我们项目中把js脚本、图片、样式放在static目录下。
2
从ServletContext根目录下读取静态资源
现在我们试一试在ServletContext的根目录下读取静态资源。同样的操作我们在src/main 下面创建一个webapp文件夹,并在webapp下创建一个index2.html页面,页面内容可以随便写。然后在创建一个images文件夹,同时放入一张logo2.jpg图片。
这里也要注意这个目录名称必须是:webapp
启动项目浏览器访问:http://127.0.0.1:8080/index2.html 同样可以直接访问。
同上面第一种方法一样,我们也可以通过servletContext的根目录下读取静态资源。这两种方法需要根据实际情况而定,本人比较喜欢第一种的使用。好了,本篇的内容相对比较简单点。下篇我们将说说附件上传的整合。
(完)
领取专属 10元无门槛券
私享最新 技术干货