當前位置:首頁 » 網頁前端 » springboot項目前端頁面
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

springboot項目前端頁面

發布時間: 2023-02-19 16:24:20

⑴ springboot集成jsp頁面總結

開發工具:IDEA
Springboot版本:2.0+

註:前端頁面引入靜態資源默認路徑resources/static/下

1、默認情況下訪問路徑為/,如: http://127.0.0.1/index ,其中index為LoginController 中配置的映射
2、指定上下文路徑,Springboot2.0+使用server.servlet.context-path指定;Springboot1.o+使用server.context-path指定

⑵ React+SpringBoot項目部署

這篇文章是記錄一下我剛剛部署的過程...倒不是怕忘記,只是部署花了我蠻長時間的,然而最後明白了之後,才發現超級簡單...

所以寫這篇文章用來幫助那些和我一樣的小白...

首先我用create-react-app搭建了一個react項目(這一步操作大家可以去官網看 https://reactjs.org/docs/add-react-to-a-new-app.html )

你會得到一個結構如下的項目:

我們可以通過 yarn start 運行這個項目:

跑起來的頁面是這樣的:

好的,現在你已經成功在開發環境中跑起來了,接下來我們來打包,然後將其部署到伺服器上

打包也很簡單,執行 npm run build :

你會發現在你的項目文件夾里多了個build文件夾:

然後當你點擊index.html之後,會發現打開是這樣的:

一片空白...然後你檢查了了下index.html,發現裡面的路徑是這樣的:

發現了啥問題沒...裡面的路徑是絕對路徑,所以當然找不到js和css以及圖片資源啥的,那怎麼讓這些路徑變成相對路徑呢,很簡單...我們再package.json加上homepage就行:

大家看最後一句就行...然後我們再次打包,然後再點index.html,會發現一切正常:

好的,現在我們通過build得到了html頁面以及js和css和各種資源...你也發現了,我們網頁的入口是index.html

所以比如說你自己有個伺服器地址是 www.abc.com ,你只要在訪問 www.abc.com 的時候把index.html返回出去就行了...因為我自己的伺服器是用SpringBoot搭建的,所以我就用SpringBoot來舉例子

SpringBoot返回html頁面也很簡單,在resource目錄下新建一個public文件夾,然後把你React打包的build文件夾里的文件都丟進去就行...(這里截圖是我自己的項目,我把一些.js和.json文件去掉了,因為好像沒啥用)

這個時候你訪問 www.abc.com 他就會直接返回index.html了(注意在SpringBoot里的Controller去掉對"/"的攔截)

然後你只要把SpringBoot項目部署到伺服器上(如何部署SpringBoot項目大家可以看這篇文章 https://blog.csdn.net/ruglcc/article/details/76147645 ),然後訪問你的域名,你就可以看到index.html了,比如我剛剛部署的自己的網頁 www.nanmian.top

OK這篇文章結束了,大家也發現了目前的網頁很簡單...就只有一個頁面,我剛學前端...所以也不是很懂,不知道之後項目變大了這種方法還行不行...到時候我會再記錄的

最後的最後,這篇文章不能再感謝我可愛的女朋友了,祝她前程似錦。

⑶ SpringBoot頁面展示Thymeleaf

開發傳統Java WEB工程時,我們可以使用JSP頁面模板語言,但是在SpringBoot中已經不推薦使用了。SpringBoot支持如下頁面模板語言

上面並沒有列舉所有SpringBoot支持的頁面模板技術。其中Thymeleaf是SpringBoot官方所推薦使用的,下面來談談Thymeleaf一些常用的語法規則。

要想使用Thhymeleaf,首先要在pom.xml文件中單獨添加Thymeleaf依賴。

Spring Boot默認存放模板頁面的路徑在 src/main/resources/templates 或者 src/main/view/templates ,這個無論是使用什麼模板語言都一樣,當然默認路徑是可以自定義的,不過一般不推薦這樣做。另外Thymeleaf默認的頁面文件後綴是 .html 。

在MVC的開發過程中,我們經常需要通過 Controller 將數據傳遞到頁面中,讓頁面進行動態展示。

創建一個Controller對象,在其中進行參數的傳遞

在SpringBoot默認的頁面路徑下創建show.html文件,內容如下

可以看到在 p 標簽中有 th:text 屬性,這個就是thymeleaf的語法,它表示顯示一個普通的文本信息。

如果我們要顯示的信息是存在資源文件中的,同樣可以在頁面中顯示,例如資源文件中定義了內容 welcome.msg=歡迎{0}光臨! 。可以在頁面中將其顯示

另外,在 th:utext 中還能做一些基礎的數學運算

如果我們想要傳遞到的頁面的信息,它本身是帶有CSS樣式的,這個時候如何在頁面中將攜帶的樣式信息也顯示出來?此時我們的控制器方法這樣寫。

此時頁面中需要藉助 th:utext 屬性進行顯示

通過瀏覽器查看頁面源碼可以看出 th:utext 和 th:text 的區別是: th:text 會對 < 和 > 進行轉義,而 th:utext 不會轉義。

我們常常需要將一個bean信息展示在前端頁面當中。

上面給出了兩種展現方式,一種是通過${屬性},另外一種是通過 {屬性}。
關於「${屬性}」和「
{屬性}」的區別?
$訪問完整信息,而訪問指定對象中的屬性內容, 如果訪問的只是普通的內容兩者沒有區別;

在 thymeleaf 之中提供有相應的集合的處理方法,例如:在使用 List 集合的時候可以考慮採用 get()方法獲取指定索引的數據,那麼在使用 Set 集合的時候會考慮使用 contains()來判斷某個數據是否存在,使用 Map 集合的時候也希望可以使用 containsKey()判斷某個 key 是否存在,以及使用get()根據 key 獲取對應的 value,而這些功能在之前並不具備,下面來觀察如何在頁面中使用此類操作

在傳統WEB工程開發時,路徑的處理操作是有點麻煩的。SpringBoot中為我們簡化了路徑的處理。

頁面之間的跳轉也能通過@{}來實現

雖然在這種模版開發框架裡面是不提倡使用內置對象的,但是很多情況下依然需要使用內置對象進行處理,所以下面來看下如何在頁面中使用JSP內置對象。

thymeleaf 考慮到了實際的開發情況,因為 request 傳遞屬性是最為常用的,但是 session 也有可能使用,例如:用戶登錄之後需要顯示用戶 id,那麼就一定要使用到 session,所以現在必須增加屬性范圍的形式後才能夠正常使用。在 thymeleaf 裡面也支持有 JSP 內置對象的獲取操作,不過一般很少這樣使用。

所有的頁面模版都存在各種基礎邏輯處理,例如:判斷、循環處理操作。在 Thymeleaf 之中對於邏輯可以使用如下的一些運算符來完成,例如:and、or、關系比較(>、<、>=、<=、==、!=、lt、gt、le、ge、eq、ne)。

通過控制器傳遞一些屬性內容到頁面之中:

不滿足條件的判斷

通過swith進行分支判斷

在實際開發過程中常常需要對數據進行遍歷展示,一般會將數據封裝成list或map傳遞到頁面進行遍歷操作。

我們常常需要在一個頁面當中引入另一個頁面,例如,公用的導航欄以及頁腳頁面。thymeleaf中提供了兩種方式進行頁面引入。

可以看到頁面當中還存在一個變數projectName,這個變數的值可以在引入頁面中通過 th:with="projectName=網路" 傳過來。

⑷ Spring Boot 中 Controller 返回HTML頁面

由於Spring Boot 內嵌了 Tomcat 容器,所以不用把項目打成war包,再放到Tomcat中去運行。但是隨之出現了個問題,基於Tomcat的Web應用都有一個 /webapp 目錄來存放前端頁面和靜態資源等文件。那麼Spring Boot中應該放在哪裡呢?

如果你是用Spring Initializr新建的項目的話,那麼當你打開項目,就會看到:

對, /resources 目錄下已經存在了兩個包:
/static 用來存放靜態文件
/templates 用來存放前端頁面

Ps:沒有目錄的話可以自己創建

我們寫一個最簡單的HTML頁面,放在 /templates 下:

可能你注意到了,在 <html lang="zh-CN" xmlns:th="http://www.thymeleaf.org"> 中多了點東西,沒關系,繼續往下看。

我們寫一個Spring MVC中最簡單的Controller,用來返回hello.html:

然後通過Postman來測試一下介面:

可以看到報錯了,錯誤提示說,可能是沒有指定視圖。

我們知道在傳統的Tomcat Web應用裡面,還需要配置web.xml與SpringMVC。

不過也太麻煩啦,所以Spring Boot就簡化了這些配置,並且推薦使用Thymeleaf前端模板引擎。
前面提到的多了點東西也就是這個引擎的語法。

我用Gradle做依賴管理:

可以看到返回的就是hello.html

Thymeleaf語法也是個坑,有時間再去看看吧~

⑸ SpringBoot | IDEA 搭建 springboot 項目 + jsp 頁面模板

搭建 springboot 項目,web頁面用 jsp 模板

我把自己遇到的問題和解決方法羅列了一下,看看你們會不會也遇到這些問題

Group 和 Artifact 被稱為「坐標」,為了保證項目唯一性

Group分為多個段,一般可設成兩段,第一段為域,例如org、com、cn,org為非營利組織,com為商業組織;第二段為公司名稱

Artifact 為項目名稱

其他的可根據自己的需求選擇對應的 starter 進行依賴,或者可後期在pom.xml 中配置

在 main 下新增 webapp 目錄, 在 webapp 目錄下新增 WEB-INF 目錄和 jsp 目錄,則將 jsp 文件創建在 jsp 目錄下

右擊 jsp 目錄 -> new -> JSP/JSPX page 創建 jsp 文件,例如本文創建 index.jsp

首先,右擊 項目  ->  Open Mole Settings

選擇Moles  ->  選擇Web  ->  點擊 + 號  ->  點擊 web.xml

選擇 main\webapp\WEB-INF 目錄,在後面添加上 web.xml,點擊ok

web.xml 內容如下:

添加  org.apache.tomcat.embed 的 tomcat-embed-jasper 依賴包和 javax.servlet 的 jstl 依賴包

配置tomcat埠(默認值為8080),可以選擇不配置

spring.mvc.view.prefix 和 spring.mvc.view.suffix 是 Spring Boot 約定的視圖前綴和後綴的配置,意思是找到 /jsp/ 目錄下以 .jsp 為後綴的 JSP 文件

右擊 com.spring.demo 目錄 -> new -> 選擇 pakage,新增 controller 包

右擊 controller 目錄 ->  new -> 選擇 Java Class,創建 Controller 類 ,本人創建為 IndexController 類

引入註解 @Controller 和 @RequestMapping,返回 jsp 頁面

springboot 小 demo 搭建完畢    ^_^

⑹ spring boot怎麼創建jsp頁面

最近在接支付項目,從官方下了個及時到款的demo,想在springBoot項目中運行起來,發現訪問jsp的時候直接會訪問到jsp頁面的源文件。

如何在springBoot項目中訪問到jsp頁面?

1.添加pom依賴

首先在原來的pom文件基礎上加上這兩個配置

[html] view plain

  • <!--tomcat的支持.-->

  • <dependency>

  • <groupId>org.springframework.boot</groupId>

  • <artifactId>spring-boot-starter-tomcat</artifactId>

  • <scope>provided</scope>

  • </dependency>

  • <dependency>

  • <groupId>org.apache.tomcat.embed</groupId>

  • <artifactId>tomcat-embed-jasper</artifactId>

  • <scope>provided</scope>

  • </dependency>

  • 其實根據我自身的配置,只配置tomcat下面這個也可以 順利運行項目

⑺ 「SpringBoot實戰」視圖技術-Thymeleaf

在一個Web應用中,通常會採用MVC設計模式實現對應的模型、視圖和控制器,其中,視圖是用戶看到並與之交互的界面。對最初的Web應用來說,視圖是由HTML元素組成的靜態界面;而後期的Web應用更傾向於使用動態模板技術,從而實現前後端分離和頁面的動態數據展示。Spring Boot框架為簡化項目的整體開發,提供了一些視圖技術支持,並主要推薦整合模板引擎技術實現前端頁面的動態化內容。本文對SpringBoot常用的Thymeleaf進行整合。

Thymeleaf是一種現代的基於伺服器端的Java模板引擎技術,也是一個優秀的面向Java的XML、XHTML、HTML5頁面模板,它具有豐富的標簽語言、函數和表達式,在使用Spring Boot框架進行頁面設計時,一般會選擇 Thymeleaf模板。我們在這里學習Thymeleaf 常用的標簽、表達式。

Thymeleaf標簽

使用標簽只需要加上一個命名空間就可以了。 即修改原html的第二行就可以了。

變數表達式${..}主要用於獲取上下文中的變數值,示例代碼如下。

這是標題

- 使用了Thymeleaf模板的變數表達式${..}用來動態獲取p標簽中的內容 - 如果當前程序沒有啟動或者當前上下文中不存在title變數,該片段會顯示標簽默認值「這是標題」; - 如果當前上下文中存在title 變數並且程序已經啟動,當前p標簽中的默認文本內容將會被tite變數的值所替換,從而達到模板引擎頁面數據動態替換的效果。

Thymeleaf為變數所在域提供了一些內置對象

結合上述內置對象的說明,假設要在Thymeleaf模板擎頁面中動態獲取當前國家信息,可以使用#locale內置對象

選擇交量表達式和變數表達式用法類似,一般用於從被選定對象而不是上下文中獲取屬性值,如果沒有選定對象,則和變數表達式一樣,示例代碼如下。

消息表達式#{..}主要用於Thymeleaf模板頁面國際化內容的動態替換和展示。使用消息表這式#{..}進行國際化設置時,還需要提供一些國際化配置文件。關於消息表達式的使用,下文寫國際化時會詳細說明。

鏈接表達式@{..}一般用於頁面跳轉或者資源的引入,在Web開發中占據著非常重要的地位,並且使用也非常頻繁。

片段表達式~{..}是一種用來將標記片段移動到模板中的方法。其中,最常見的用法是使用th:insert或th:replace 屬性插入片段

Spring Boot默認設置了靜態資源的訪問路徑,默認將/**所有訪問映射到以下目錄。

我們創建一個springboot項目用於本次實驗。項目名為springboot_01_thyme。java8,springboot2.6.6

創建一個LoginController類用於數據替換效果測試。

我們寫一個login.html進行測試。我們導入一個bootstrap的樣式到static/login裡面,並且自己定義一些css。

最後我們通過訪問http://localhost:8080/toLoginPage 可以查看效果

在resources目錄下創建名為i18n的文件夾,數一數這個單詞多少個字母internationalization,就知道為什麼叫i18n了。
然後我們在i18n文件夾下面創建login.properties、 login_zh_CN.properties、 login_en_US.properties文件。
目錄結構:這個Resource Bundle 'login'時idea自動創建的,我們不需要管,只需要完成我們的就行。

login.properties

login_zh_CN.properties

login_en_US.properties

然後我們在配置文件application.properties裡面添加代碼

我們在config包下面創建一個MyLocalResovel類,自定義國際化功能區域信息解析器。

這里我們基本就完成了,但是在訪問中文的時候會出現亂碼現象。

我們打開idea的file->settings->file Encodings.
將Default encoding for properties的編碼改為utf-8,同時勾選Transparentnative-to-ascii conversion

然後我們重新編寫login.properties和其他相關的

但是這種方法1隻對當前項目有效。下次創建還是使用GBK編碼

本文我們主要了解了Thymeleaf的基本語法、標簽、表達式、基本使用、同時還實現了頁面登錄頁得國際化。

本文作者:hjk-airl

本文鏈接:https://www.cnblogs.com/hjk-airl/p/16181598.html