最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

spring學(xué)習(xí)筆記3|從源碼看靜態(tài)資源加載

2023-04-24 08:46 作者:便宜酒  | 我要投稿

使用springmvc開發(fā)時,jsp文件是寫在webapp下的,而springboot的工程結(jié)構(gòu)是沒有這個目錄的,沒有index.jsp作為首頁,更沒有web.xml來讓我們手動配置dispatcherServlet和編碼過濾器等,那么靜態(tài)資源寫在哪里?如何訪問?優(yōu)先級是什么?springboot經(jīng)常更新,從源碼角度理解問題,可以減少多余動作,也是提高java水平的方法。


【靜態(tài)資源訪問】

搜索WebMvcAutoConfiguration類下,addResourceHandlers方法指明的靜態(tài)資源的來源(方法的重載)


1.web jars:先上webjars導(dǎo)入,再用localhost:8080/webjars/jar包路徑訪問

this.mvcProperties.getWebjarsPathPattern()



2./**:localhost:8080/后面接所有路徑均可訪問。

this.mvcProperties.getStaticPathPattern()


/**包括什么?

WebMvcAutoConfiguration類下,WebMvcAutoConfigurationAdapter方法中,webProperties.getResources()指明了CLASSPATH_RESOURCE_LOCATIONS

"classpath:/META-INF/resources/", "classpath:/resources/", "classpath:/static/", "classpath:/public/"


它們的訪問優(yōu)先級?

classpath:/resources/

classpath:/static/(默認(rèn))

classpath:/public/



3.自定義:在qpplication.properties里定義spring.mvc.static-path-pattern=/changting/**

?if (!this.resourceProperties.isAddMappings()) {

? ? logger.debug("Default resource handling disabled");


【首頁】

搜索WebMvcAutoConfiguration類下,getIndexHtml方法用重載給出兩種途徑

this.getIndexHtml(this.resourceLoader.getResource(location));

Resource resource = location.createRelative("index.html"):在classpath下的包里自己寫一個index.html

【模板引擎】

問題:jar 包用于打包類,而war 是一個可以直接運行的 web 模塊。springboot中不再使用war包,不支持jsp。

導(dǎo)入一個模板引擎依賴thymeleaf,作用和jsp一樣。從maven找一個spring-boot-starter-thymeleaf就行,導(dǎo)入后就可以找到ThymeleafProperties類,里面注明了:

String DEFAULT_PREFIX = "classpath:/templates/";
String DEFAULT_SUFFIX = ".html";

說明只要將html放在classpath:/templates/下就可以在由@Controller注釋的類下被訪問了。(注意@RequestController訪問不到)

spring學(xué)習(xí)筆記3|從源碼看靜態(tài)資源加載的評論 (共 條)

分享到微博請遵守國家法律
长海县| 乡宁县| 宝兴县| 林口县| 九台市| 酉阳| 绥江县| 呈贡县| 桂平市| 奎屯市| 文化| 柯坪县| 剑川县| 景洪市| 苗栗市| 保康县| 周至县| 浪卡子县| 利川市| 贺兰县| 新巴尔虎左旗| 建水县| 县级市| 同德县| 阳曲县| 祥云县| 察隅县| 江津市| 辽宁省| 东乌珠穆沁旗| 海门市| 自治县| 德格县| 乃东县| 卓资县| 富蕴县| 榕江县| 曲麻莱县| 上犹县| 文昌市| 高雄市|