一、SpringBoot 靜態資源訪問
在我們開發 Web 應用的時候,需要引用大量的 js、css、圖片等靜態資源,在 Spring Boot 中默認提供靜態資源訪問目錄位置需置於classpath下,目錄名需符合如下規則:
#支持1.5版本,2.0版本
/static
#支持1.5版本,2.0版本
/public
#支持1.5版本,2.0版本
/resources
#支持1.5版本,2.0版本
/META-INF/resources
例如:我們可在資源目錄 src/main/resources
下創建 static
目錄,在該位置放置一個圖片文件。啓動程序後,嘗試訪問http://localhost:8080/xxx.jpg。如能顯示圖片,配置成功。
在這裏,我們將touxiang.jpg
圖片放到 src/main/resources/static
目錄,然後啓動項目,訪問http://localhost:8080/touxiang.jpg
,
注意:在static 下可以建各種目錄,例如 js,css,images 目錄,然後訪問其下的靜態資源路徑分別爲http://localhost:8080/js/xxx.js
,http://localhost:8080/css/xxx.css
,http://localhost:8080/images/xxx.jpg
。
二、SpringBoot JSP頁面渲染
1. pom.xml 文件中添加
<!-- spring-boot-starter-parent 整合第三方常用框架依賴信息 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.RELEASE</version>
</parent>
<dependencies>
<!-- spring-boot-starter-web 是Springboot整合SpringMVC Web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- SpringBoot 外部tomcat支持 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
</dependencies>
2. 配置 application.properties
在 application.properties
文件中添加配置
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
3. 編寫 Controller
package com.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
/**
* @Description JSP 渲染
* @author 歐陽
* @since 2019年4月7日 下午5:11:05
* @version V1.0
*/
@Controller
public class RenderJsp {
@RequestMapping("/renderJsp")
public ModelAndView renderJsp() {
ModelAndView modelAndView = new ModelAndView("home");
modelAndView.addObject("msg", "渲染jsp頁面");
return modelAndView;
}
}
注意:Controller 要用註解 @Controller
,不然就返回 ModelAndView
對象。
4. 編寫 JSP
JSP 路徑爲 /springboot-demo/src/main/webapp/WEB-INF/jsp/home.jsp
,因爲在配置文件application.properties
中 我們配置的路徑前綴就是/WEB-INF/jsp/
,所以需要在 /WEB-INF/jsp/
目錄下創建名稱爲 home.jsp
的 Jsp 頁面。關鍵代碼:
<body>
信息:${msg }
</body>
5. 測試
(1)訪問地址:http://localhost:8080/renderJsp
(2)效果: