SpringBoot項(xiàng)目中如何訪問HTML頁面
SpringBoot默認(rèn)的頁面映射路徑(即模板文件存放的位置)為“classpath:/templates/*.html”。靜態(tài)文件路徑為“classpath:/static/”,其中可以存放JS、CSS等模板共用的靜態(tài)文件。
1、將HTML頁面存放在resources/static目錄下的訪問
將HTML頁面存放在 resources(資源目錄)下的 static 目錄中。
【示例】在static目錄下創(chuàng)建test1.html頁面,然后在static目錄下創(chuàng)建view目錄,在view目錄下創(chuàng)建test2.html頁面,實(shí)現(xiàn)在瀏覽器中的訪問。項(xiàng)目結(jié)構(gòu)如下圖:

(1)在static目錄下創(chuàng)建test1.html頁面,頁面代碼如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>測(cè)試頁面1</title>
<meta name="author" content="pan_junbiao的博客">
</head>
<body>
<h3>測(cè)試頁面1</h3>
<p>您好,歡迎訪問 pan_junbiao的博客</p>
<p>https://blog.csdn.net/pan_junbiao</p>
</body>
</html>
執(zhí)行結(jié)果:

(2)在static目錄下創(chuàng)建view目錄,在view目錄下創(chuàng)建test2.html頁面,頁面代碼如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>測(cè)試頁面2</title>
<meta name="author" content="pan_junbiao的博客">
</head>
<body>
<h3>測(cè)試頁面2</h3>
<p>您好,歡迎訪問 pan_junbiao的博客</p>
<p>https://blog.csdn.net/pan_junbiao</p>
</body>
</html>
執(zhí)行結(jié)果:

2、將HTML頁面存放在resources/templates目錄下的訪問
將HTML頁面存放在 resources(資源目錄)下的 templates 目錄中。
【示例】在templates目錄下創(chuàng)建test3.html頁面,實(shí)現(xiàn)在瀏覽器中的訪問。
在templates目錄下創(chuàng)建test3.html頁面,頁面代碼如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>測(cè)試頁面3</title>
<meta name="author" content="pan_junbiao的博客">
</head>
<body>
<h3>測(cè)試頁面3</h3>
<p>您好,歡迎訪問 pan_junbiao的博客</p>
<p>https://blog.csdn.net/pan_junbiao</p>
</body>
</html>
2.1 方式一
解決SpringBoot不能直接訪問templates目錄下的靜態(tài)資源(不推薦)
SpringBoot項(xiàng)目下的templates目錄的資源默認(rèn)是受保護(hù)的,沒有開放訪問權(quán)限。這是因?yàn)閠emplates文件夾,是放置模板文件的,因此需要視圖解析器來解析它。所以必須通過服務(wù)器內(nèi)部進(jìn)行訪問,也就是要走控制器 → 服務(wù) → 視圖解析器這個(gè)流程才行。同時(shí),存在安全問題,比如說,你把你后臺(tái)的html文件放到templates,而這個(gè)文件夾對(duì)外又是開放的,就會(huì)存在安全隱患。
解決方法:在application.yml或者application.properties配置文件中將訪問權(quán)限開放(不推薦)
application.yml文件配置:
spring:
resources:
static-locations: classpath:/META-INF/resources/, classpath:/resources/, classpath:/static/, classpath:/public/, classpath:/templates/
application.properties文件配置:
spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,classpath:/templates/
配置完成后,啟動(dòng)SpringBoot,在瀏覽器中輸入地址就可以直接訪問templates目錄下的靜態(tài)資源了。
執(zhí)行結(jié)果:

2.2 方式二
通過Controller控制器層跳轉(zhuǎn)訪問的資源(推薦)
在源代碼層中創(chuàng)建controller目錄(控制器層),在controller目錄下創(chuàng)建IndexController(首頁控制器類),項(xiàng)目結(jié)構(gòu)如下圖:

(1)pom.xml文件的配置
注意:一定要添加thymeleaf的依賴。
<!-- thymeleaf依賴 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
(2)編寫控制器方法
創(chuàng)建IndexController(首頁控制器類),代碼如下:
package com.pjb.springboothtml.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* 首頁控制器
* @author pan_junbiao
**/
@Controller
public class IndexController
{
@RequestMapping("/test3")
public String test3()
{
return "test3";
}
}
執(zhí)行結(jié)果:

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- springboot中使用過濾器,jsoup過濾XSS腳本詳解
- SpringBoot中使用Jsoup爬取網(wǎng)站數(shù)據(jù)的方法
- springboot2.x使用Jsoup防XSS攻擊的實(shí)現(xiàn)
- springboot訪問template下的html頁面的實(shí)現(xiàn)配置
- springboot用controller跳轉(zhuǎn)html頁面的實(shí)現(xiàn)
- 詳解如何配置springboot跳轉(zhuǎn)html頁面
- springboot如何使用thymeleaf模板訪問html頁面
- SpringBoot、Java 使用 Jsoup 解析 HTML 頁面的詳細(xì)步驟
相關(guān)文章
Java運(yùn)行時(shí)數(shù)據(jù)區(qū)劃分原理解析
這篇文章主要介紹了Java運(yùn)行時(shí)數(shù)據(jù)區(qū)劃分原理解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04
MyBatis實(shí)現(xiàn)三級(jí)樹查詢的示例代碼
在實(shí)際項(xiàng)目開發(fā)中,樹形結(jié)構(gòu)的數(shù)據(jù)查詢是一個(gè)非常常見的需求,比如組織架構(gòu)、菜單管理、地區(qū)選擇等場(chǎng)景都需要處理樹形數(shù)據(jù),本文將詳細(xì)講解如何使用MyBatis實(shí)現(xiàn)三級(jí)樹形數(shù)據(jù)的查詢,需要的朋友可以參考下2024-12-12
SpringBoot如何IDEA中實(shí)現(xiàn)熱部署
這篇文章主要介紹了SpringBoot如何IDEA中實(shí)現(xiàn)熱部署,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04
Java如何實(shí)現(xiàn)一個(gè)簡(jiǎn)化版的Stream框架
這篇文章主要為大家詳細(xì)介紹了一個(gè)簡(jiǎn)化版的 Stream 實(shí)現(xiàn),展示了如何通過延遲執(zhí)行來處理數(shù)據(jù)流,感興趣的小伙伴可以跟隨小編一學(xué)習(xí)一下2024-10-10
springboot1.X和2.X中如何解決Bean名字相同時(shí)覆蓋
這篇文章主要介紹了springboot1.X和2.X中如何解決Bean名字相同時(shí)覆蓋,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03
SpringBoot?替換?if?的參數(shù)校驗(yàn)示例代碼
Spring?Validation是對(duì)hibernate?validation的二次封裝,用于支持spring?mvc參數(shù)自動(dòng)校驗(yàn),接下來,我們以spring-boot項(xiàng)目為例,介紹Spring?Validation的使用,需要的朋友可以參考下2022-12-12
Spring如何利用@Value注解讀取yml中的map配置
這篇文章主要介紹了Spring如何利用@Value注解讀取yml中的map配置,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02

