日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

SpringBoot中配置Web靜態(tài)資源路徑的方法

瀏覽:241日期:2023-04-24 10:00:08

介紹: 本文章主要針對web項目中的兩個問題進(jìn)行詳細(xì)解析介紹:1- 頁面跳轉(zhuǎn)404,即controller轉(zhuǎn)發(fā)無法跳轉(zhuǎn)頁面問題;2- 靜態(tài)資源文件路徑問題。

項目工具: Intelij Idea, JDK1.8, SpringBoot 2.1.3

正文:

準(zhǔn)備工作:通過Idea創(chuàng)建一個SpringBoot-web項目,此過程不做贅述,創(chuàng)建完成后項目結(jié)構(gòu)如下圖:

SpringBoot中配置Web靜態(tài)資源路徑的方法

1- 創(chuàng)建一個controller代碼如下:

package com.example.webpractice.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;@Controllerpublic class DemoController { @RequestMapping('demo') public String demo() { System.out.println('進(jìn)入controller中的demo方法!'); /*注意:這里返回值有后綴名,如何省略后綴名后面有介紹*/ return 'myPage.html'; }}

2- 在 web-practicesrcmainresourcestemplates路徑下創(chuàng)建html頁面,取名“myPage”,代碼如下:

<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <title>Title</title></head><body> <h1>Welcome to myPage!</h1></body></html>

此時運行項目,會發(fā)現(xiàn)報404問題,同時查看Idea控制臺,打印顯示進(jìn)入controller方法。

SpringBoot中配置Web靜態(tài)資源路徑的方法

3- spring.resources.static-location登場

打開application.yml文件,進(jìn)行如下配置(默認(rèn)項目中配置文件為application.properties,修改后綴名即可,因我個人喜歡使用yml文件),重新運行項目并訪問地址:localhost:8080/demo 會發(fā)現(xiàn)頁面跳轉(zhuǎn)成功。

spring: resources: static-locations: classpath:templates/

原因分析:spring.resources.static-location參數(shù)指定了Spring Boot-web項目中靜態(tài)文件存放地址,該參數(shù)默認(rèn)設(shè)置為:classpath:/static,classpath:/public,classpath:/resources,classpath:/META-INF/resources,servlet context:/,可以發(fā)現(xiàn)這些地址中并沒有/templates這個地址。當(dāng)配置文件中配置此項后,默認(rèn)配置失效,使用自定義設(shè)置。這里涉及到兩個概念:

(1)classpath: 通俗來講classpath對應(yīng)的項目中:web-practicesrcmainresources 文件目錄。如:“classpath: templates/” 即是將resources目錄下的templates文件夾設(shè)置為靜態(tài)文件目錄。更深一步講classpath路徑為:文件編譯后在target/classes目錄下的文件。

(2) 靜態(tài)文件目錄:通俗理解為存放包括 :.html;.jsp;CSS;js;圖片;文本文件等類型文件的目錄。這些文件都可以通過瀏覽器url進(jìn)行訪問。同時controller中轉(zhuǎn)發(fā)的文件目錄也必須被設(shè)置為靜態(tài)文件目錄,這就是增加了該參數(shù)以后就可以正常訪問的原因。

4- spring.mvc.view.prefix/suffix登場

現(xiàn)在頁面已經(jīng)可以正常轉(zhuǎn)發(fā),我們有了新的想法,我希望在templates文件夾中創(chuàng)建一個html文件夾用于專門存放頁面文件,另外在每次使用controller進(jìn)行轉(zhuǎn)發(fā)是都要標(biāo)明后綴名.html,這很麻煩,有沒有統(tǒng)一處理的方案,答案當(dāng)然是有!

修改后項目結(jié)構(gòu)如下:

SpringBoot中配置Web靜態(tài)資源路徑的方法

controller方法修改如下:

package com.example.webpractice.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;@Controllerpublic class DemoController { @RequestMapping('demo') public String demo() { System.out.println('進(jìn)入controller中的demo方法!'); //如果不在appliation.yml文件中添加前后綴信息,此處返回語句為 //return 'html/myPage.html' return 'myPage'; }}

application.yml文件修改如下:

spring: resources: static-locations: classpath:templates/ mvc: view: prefix: html/ suffix: .html

再次運行項目即可。通過測試得知prefix/suffix是在controller返回語句前后添加前后綴信息。

5- 配置多個靜態(tài)文件路徑:當(dāng)我們在頁面中添加圖片,并且將圖片存放在resources/static/pic路徑下,如下圖所示:

SpringBoot中配置Web靜態(tài)資源路徑的方法

修改myPage.html如下:

<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <title>Title</title></head><body> <h1>Welcome to myPage!</h1> <img src='https://rkxy.com.cn/pic/pig.jpg' /></body></html>

之后重啟項目,會發(fā)現(xiàn)圖片并沒有成功加載!如下:

SpringBoot中配置Web靜態(tài)資源路徑的方法

原因是之前我們配置的靜態(tài)文件目錄只包含classpath:templates/,static目錄還不是合法的存儲靜態(tài)文件目錄,我們只需要在后面追加上static目錄即可。修改application.yml文件如下:

spring: resources: static-locations: classpath:templates/,classpath:static/ mvc: view: prefix: html/ suffix: .html

修改后重啟項目刷新頁面,一切正常!

6- 關(guān)于spring.mvc.view.static-path-pattern

該參數(shù)用來規(guī)定訪問靜態(tài)文件的路徑格式,該參數(shù)默認(rèn)值為:“/**” 表示所有路徑,現(xiàn)將該參數(shù)修改為:“/static/**” 觀察現(xiàn)象

spring: resources: static-locations: classpath:templates/,classpath:static/ mvc: view: prefix: html/ suffix: .html static-path-pattern: /static/**

重啟項目,發(fā)現(xiàn)頁面不能加載404錯誤!

要解決該問題需要修改兩個地方:

(1) 修改spring.mvc.view.prefix參數(shù)值為:static/html/ ;該修改為了controller轉(zhuǎn)發(fā)時可以找到文件路徑;

(2)修改myPage頁面的圖片地址如下:

<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <title>Title</title></head><body> <h1>Welcome to myPage!</h1> <img src='https://rkxy.com.cn/static/pic/pig.jpg' /></body></html>

原因分析:static-path-pattern規(guī)定的時訪問靜態(tài)頁面的路徑類型,這里規(guī)定訪問靜態(tài)頁面必須為:localhost:8080/static/***的方式才能訪問到靜態(tài)資源。static-path-pattern并不是規(guī)定實際的靜態(tài)文件訪問路徑,而是規(guī)定了一種url標(biāo)記,只有遵循該標(biāo)記的規(guī)則才能訪問靜態(tài)文件。

擴展:

1- spring.resources.static-locations參數(shù)除了規(guī)定classpath:路徑下的文件目錄為靜態(tài)文件目錄,還可以規(guī)定項目以外的位置,如設(shè)置:E:/test文件夾目錄為靜態(tài)文件存儲目錄,如下:

spring: resources: static-locations: classpath:templates/,classpath:static/,file:E:/test

2- 頁面訪問過程如下:

瀏覽器發(fā)送請求,先匹配SpringMVC中RequestMapping列表,匹配到后根據(jù)controller返回值定位靜態(tài)資源目錄,并返回給客戶;如果RequestMapping中未匹配到,則判斷是不是靜態(tài)文件目錄,如果是的話直接到靜態(tài)文件目錄對應(yīng)路徑下查詢文件,查詢到返回,未查詢到不返回。

3- static-location配置的目錄列表都被視為根目錄,如果兩個目錄中相同文件目錄下存儲了同名同類型文件,返回在static-locations配置靠前的根目錄下的內(nèi)容。

4- static-path-pattern參數(shù)規(guī)定了靜態(tài)文件存儲路徑,在controller的RequestMapping中應(yīng)該避免設(shè)置該路徑相同的訪問路徑。

到此這篇關(guān)于SpringBoot中配置Web靜態(tài)資源路徑的方法的文章就介紹到這了,更多相關(guān)SpringBoot配置Web靜態(tài)資源路徑內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Spring
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产欧美一区二区三区米奇| 精品视频网站| 久久久久久久久久久9不雅视频| 国产伦精品一区二区三区在线播放 | 国产一区二区三区四区二区| 欧美久久久网站| 欧美日本不卡| 国产精品国产三级国产在线观看| 国产一区二区三区不卡av| 麻豆国产精品视频| 午夜av成人| 婷婷精品视频| 尤物在线精品| 日本va欧美va瓶| 久久精品三级| 91久久中文| 免费一区二区三区在线视频| 蜜臀国产一区| 香蕉久久夜色精品国产| 久久99久久久精品欧美| 日韩免费小视频| 亚洲精品九九| 日韩av福利| 美女国产一区| 久久久久久自在自线| 亚洲区第一页| 91精品国产91久久久久久黑人| 热久久国产精品| 久久精品伊人| 日韩中文字幕亚洲一区二区va在线| 欧美日一区二区在线观看| 麻豆精品蜜桃| 国产精品伊人| 一本综合精品| 激情丁香综合| 久久精品国产福利| 亚洲综合图色| 亚洲夜间福利| 高清一区二区| 国产精品sm| 午夜久久av| 在线视频亚洲| 亚洲一级少妇| 亚久久调教视频| 欧美天堂亚洲电影院在线观看| 国产一区2区在线观看| 日韩国产欧美在线播放| 久久亚洲国产| 美女av在线免费看| 91嫩草精品| 日本国产欧美| 日韩精品高清不卡| 日韩精品一二三| 久久亚洲不卡| 亚洲综合不卡| 日本久久精品| 日韩欧美一区二区三区在线观看| 国产精品白丝一区二区三区| 女人天堂亚洲aⅴ在线观看| 国产中文欧美日韩在线| 国产亚洲电影| 国产精品mm| 国产精品手机在线播放| 奇米色欧美一区二区三区| 欧美日韩91| 中文字幕亚洲在线观看| 日本不卡在线视频| 国产探花在线精品一区二区| 日本中文字幕一区二区视频| 欧美精品影院| 国内自拍视频一区二区三区| 国产在线观看www| 久久国产日本精品| 久久久久久久久99精品大| 免费精品国产的网站免费观看| 久久中文字幕av| 天堂成人国产精品一区| 日本不卡不码高清免费观看| 国产欧美日韩在线观看视频| 国产一区福利| 亚洲先锋成人| 日本精品一区二区三区在线观看视频| 国产精品蜜月aⅴ在线| 精品三级在线| 欧美日韩精品一本二本三本| 91欧美极品| 欧美gv在线| 日本不卡一区二区| 国产精品久久免费视频| 999国产精品| 日韩精品a在线观看91| 国产在视频一区二区三区吞精| 午夜久久黄色| 欧美国产免费| 在线精品小视频| 久久99视频| 一区二区三区国产盗摄| 色综合狠狠操| 久久精品99国产精品日本| 日韩欧美一区二区三区在线观看| 蜜桃91丨九色丨蝌蚪91桃色| 福利欧美精品在线| 亚洲精品第一| 日韩综合在线| 欧美久久精品| 亚洲欧美专区| 国产传媒在线| 先锋亚洲精品| 日韩av福利| 精品美女久久| 日本强好片久久久久久aaa| 在线成人动漫av| 久久精品一本| 视频在线观看一区二区三区| 久久久夜精品| 国产精品国产一区| 国产精品午夜av| 欧美在线观看天堂一区二区三区| 成人久久一区| 亚洲成人不卡| 国产调教精品| 蜜臀久久久久久久| 国产美女一区| 免费av一区| 久久精品免费一区二区三区 | 亚洲精品福利电影| 欧美黄色一区| 免费看久久久| 日韩国产一二三区| 日本a级不卡| 国产精品调教| caoporn视频在线| 久久久久久网| 天堂资源在线亚洲| 99视频一区| 99国产精品久久久久久久成人热 | 国产亚洲一卡2卡3卡4卡新区| 国产亚洲观看| 91欧美在线| 国产成人久久| 99视频精品视频高清免费| 精品国产乱码久久久| 国产成人精品一区二区三区视频| 91综合网人人| 久色成人在线| 免费在线亚洲欧美| 美女国产一区二区三区| 日韩一区二区三区免费播放| 日韩午夜免费| 国产乱码精品一区二区亚洲| 欧美一区久久久| 中文字幕中文字幕精品| 久久精品欧洲| 亚洲性视频在线| 国产一区二区三区黄网站| 亚洲女同中文字幕| 91麻豆精品激情在线观看最新 | 欧美日韩黑人| 日产欧产美韩系列久久99| 精品视频国内| 亚洲精品三级| 日韩一区二区中文| 日本久久一区| 亚洲神马久久| 成人高清一区| 中文字幕日韩欧美精品高清在线| 久久av网址| 日本亚洲欧洲无免费码在线| 麻豆国产精品视频| 日韩极品在线观看| 男女男精品网站| 91超碰国产精品| 国产一区福利| 国产精品99久久免费观看| 欧美日韩黑人| 日韩不卡一区| 麻豆成人91精品二区三区| 日韩有吗在线观看| 国产精品视区| 午夜在线视频一区二区区别 | 日韩在线播放一区二区| 福利片在线一区二区| 国产麻豆精品| 国产伦理一区| 欧美日韩视频免费看| 亚洲bt欧美bt精品777| 蜜桃一区二区三区| 国产理论在线| 日韩电影二区| 午夜av成人| 亚洲一级黄色| 久久不射网站| 蜜桃91丨九色丨蝌蚪91桃色| 亚洲免费中文| 蜜臀av国产精品久久久久| 婷婷综合激情| 国产精品专区免费| 久久美女性网| 老鸭窝亚洲一区二区三区| 鲁大师成人一区二区三区|