您好,登錄后才能下訂單哦!
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>
免責(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)容。