SpringBoot中实现配置Web静态资源路径的方法

  介绍

SpringBoot中实现配置Web静态资源路径的方法?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

<强>正文:

准备工作:通过想法创建一个SpringBoot-web项目,此过程不做赘述,创建完成后项目结构如下图:

 SpringBoot中实现配置Web静态资源路径的方法

1 -创建一个控制器代码如下:

包com.example.webpractice.controller;
  
  进口org.springframework.stereotype.Controller;
  进口org.springframework.web.bind.annotation.RequestMapping;
  
  @ controller
  公开课DemoController {
  
  @RequestMapping (“demo")
  公共字符串演示(){
  System.out.println(“进入控制器中演示的方法!“);/*注意:这里返回值有后缀名,如何省略后缀名后面有介绍*/返回“myPage.html";
  }
  }

2 -在主要web-practice \ src \ \ templates \ \资源路径下创建html页面,取名“myPage”,代码如下:

& lt; !DOCTYPE html>   & lt; html lang=癳n"祝辞   & lt; head>   & lt;元charset=癠TF-8"祝辞   & lt; title> Title   & lt;/head>   & lt; body>   & lt; h2>欢迎myPage ! & lt;/h2>   & lt;/body>   & lt;/html>

此时运行项目,会发现报404问题,同时查看想法控制台,打印显示进入控制器方法。

 SpringBoot中实现配置Web静态资源路径的方法

3 - spring.resources.static-location登场

打开application.yml文件,进行如下配置(默认项目中配置文件为应用程序。属性,修改后缀名即可,因我个人喜欢使用yml文件),重新运行项目并访问地址:localhost: 8080/演示会发现页面跳转成功。

春:   资源:   static-locations:类路径:模板/

原因分析:spring.resources。静态定位参数指定了春天Boot-web项目中静态文件存放地址,该参数默认设置为:类路径:/静态类路径:/公共类路径:/资源类路径:/meta - inf/资源,servlet上下文:/,可以发现这些地址中并没有/模板这个地址。当配置文件中配置此项后,默认配置失效,使用自定义设置。这里涉及到两个概念:

(1)类路径:,通俗来讲类路径对应的项目中:主要web-practice \ src \ \资源文件目录。如:“类路径:模板/奔词墙试茨柯枷碌哪0逦募猩柚梦蔡募柯肌8钜徊浇怖嗦肪堵肪段?文件编译后在target/类目录下的文件。

(2)静态文件目录:通俗理解为存放包括:. html。jsp; CSS, js;图片;文本文件等类型文件的目录。这些文件都可以通过浏览器url进行访问。同时控制器中转发的文件目录也必须被设置为静态文件目录,这就是增加了该参数以后就可以正常访问的原因。

4 -, spring.mvc.view.prefix/后缀登场,

现在页面已经可以正常转发,我们有了新的想法,我希望在模板文件夹中创建一个html文件夹用于专门存放页面文件,另外在每次使用控制器进行转发是都要标明后缀名。html,这很麻烦,有没有统一处理的方案,答案当然是有!

修改后项目结构如下:

 SpringBoot中实现配置Web静态资源路径的方法

控制器方法修改如下:

包com.example.webpractice.controller;
  
  进口org.springframework.stereotype.Controller;
  进口org.springframework.web.bind.annotation.RequestMapping;
  
  @ controller
  公开课DemoController {
  
  @RequestMapping (“demo")
  公共字符串演示(){
  System.out.println(“进入控制器中演示的方法!“);//如果不在appliation.yml文件中添加前后缀信息,此处返回语句为//返回“html/myPage.html"
  返回“myPage";
  }
  }

应用程序。yml文件修改如下:

春:   资源:   static-locations:类路径:模板/mvc:   观点:   前缀:html/后缀:. html

,再次运行项目即可。通过测试得知前缀/后缀是在控制器返回语句前后添加前后缀信息。

5 -配置多个静态文件路径:当我们在页面中添加图片,并且将图片存放在资源/静态图片路径下,如下图所示:

 SpringBoot中实现配置Web静态资源路径的方法

SpringBoot中实现配置Web静态资源路径的方法