溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

SpringMVC處理靜態(tài)資源

發(fā)布時(shí)間:2020-05-06 14:01:52 來(lái)源:網(wǎng)絡(luò) 閱讀:450 作者:沙漏半杯 欄目:編程語(yǔ)言

SpringMVC 處理靜態(tài)資源:?

1. 為甚么會(huì)有這樣的問(wèn)題:?

優(yōu)雅的 REST 風(fēng)格的資源URL 不希望帶 .html 或 .do 等后綴?

若將 DispatcherServlet 請(qǐng)求映射配置為 / ,?

則SpringMVC 將捕獲WEB 容器的所有請(qǐng)求, 包括靜態(tài)資源的請(qǐng)求, SpringMVC 會(huì)將他們當(dāng)成一個(gè)普通請(qǐng)求處理,?

因找不到對(duì)應(yīng)處理器將導(dǎo)致錯(cuò)誤。?

2. 解決:在 SpringMVC 的配置文件中配置<mvc:default-servlet-handler/> 的方式解決靜態(tài)資源的問(wèn)題。


default-servlet-handler 將在 SpringMVC 上下文中定義一個(gè) DefaultServletHttpRequestHandler, 它會(huì)對(duì)進(jìn)入 DispatcherServlet 的請(qǐng)求進(jìn)行篩選?

如果發(fā)現(xiàn)是沒(méi)有經(jīng)過(guò)映射處理的請(qǐng)求,將該請(qǐng)求交由 WEB 應(yīng)用服務(wù)器默認(rèn)的Servlet處理。 如果不是靜態(tài)資源的請(qǐng)求, 才由 DispatcherServlet 繼續(xù)處理?

一般 WEB 應(yīng)用服務(wù)器默認(rèn)的 Servlet 的名稱都是 default。?

若所使用的WEB 服務(wù)器默認(rèn)的Servlet 名稱不是default, 則需要通過(guò)default-servlet-name 屬性顯式指定


其實(shí)只配置<mvc:default-servlet-handler/> 是不夠的,還要配置<mvc:annotation-driven></mvc:annotation-driven>

SpringMVC處理靜態(tài)資源

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI