做web开发的时候,我们往往会有很多静态资源,如html、图片、css等。那如何向前端返回静态资源呢?
以前做过web开发的同学应该知道,我们以前创建的web工程下面会有一个webapp的目录,我们只要把静态资源放在该目录下就可以直接访问。
但是,基于Spring boot的工程并没有这个目录,那我们应该怎么处理?
一、最笨的方式
我们首先来分享一种最笨的办法,就是将静态资源通过流直接返回给前端,我们在maven工程的resources的根目录下建立一个html的目录,然后我们把html文件放在该目录下,并且规定任何访问路径以/static/开头的即访问该目录下的静态资源,其实现如下:
-
@Controller -
public class StaticResourceController { -
-
@RequestMapping("/static/**") -
public void getHtml(HttpServletRequest request, HttpServletResponse response) { -
String uri = request.getRequestURI(); -
String[] arr = uri.split("static/"); -
String resourceName = "index.html"; -
if (arr.length > 1) { -
resourceName = arr[1]; -
} -
String url = StaticResourceController.class.getResource("/").getPath() + "html/" + resourceName; -
try { -
FileReader reader = new FileReader(new File(url)); -
BufferedReader br = new BufferedReader(reader); -
StringBuilder sb = ne

本文介绍了Spring Boot处理静态资源的几种方式,包括默认的静态资源目录和自定义静态资源目录的配置,以及如何通过application.yml文件进行设置。Spring Boot默认可访问/META-INF/resources/、/resources/、/static/、/public/四个目录下的资源,并且资源访问的优先级可调整。
最低0.47元/天 解锁文章
1010

被折叠的 条评论
为什么被折叠?



