五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(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)資源加載的評論 (共 條)

分享到微博請遵守國家法律
凌云县| 会东县| 富平县| 师宗县| 务川| 汾西县| 河南省| 黄大仙区| 花莲市| 沽源县| 苍山县| 北海市| 都安| 萍乡市| 永康市| 通辽市| 伽师县| 噶尔县| 白玉县| 保靖县| 屏南县| 昆山市| 平定县| 策勒县| 沅江市| 昔阳县| 梧州市| 阿瓦提县| 玉田县| 布拖县| 泊头市| 阳信县| 鹤山市| 酉阳| 淄博市| 石泉县| 广水市| 突泉县| 鄂托克旗| 兴文县| 肃北|