亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在/*上映射全局前端控制器servlet時如何訪問靜態資源

在/*上映射全局前端控制器servlet時如何訪問靜態資源

慕村9548890 2019-06-28 17:29:09
在/*上映射全局前端控制器servlet時如何訪問靜態資源我將SpringMVC調度器映射為全局前端控制器servlet/*.<servlet>          <servlet-name>home</servlet-name>            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>     </servlet>  <servlet-mapping>          <servlet-name>home</servlet-name>            <url-pattern>/*</url-pattern>     </servlet-mapping>但是,此映射將停止對CSS、JS、圖像等靜態文件的訪問,這些文件都位于/res/文件夾。我怎么能訪問他們呢?
查看完整描述

3 回答

?
拉丁的傳說

TA貢獻1789條經驗 獲得超8個贊

我也遇到過這個問題,但從來沒有找到一個很好的解決方案。最后,我在URL層次結構中映射了一個級別的servlet:

<servlet-mapping>       
  <servlet-name>home</servlet-name>             
  <url-pattern>/app/*</url-pattern>     </servlet-mapping>

現在,基本上下文(和/res目錄中的所有內容)都可以由容器提供。


查看完整回答
反對 回復 2019-06-28
?
白衣非少年

TA貢獻1155條經驗 獲得超0個贊

將控制器servlet映射到更具體的url-pattern喜歡/pages/*,將靜態內容放在特定的文件夾中,如/static并創建一個Filter傾聽/*它透明地繼續對任何靜態內容的鏈,并向控制器servlet發送其他內容的請求。

簡而言之:

<filter>
    <filter-name>filter</filter-name>
    <filter-class>com.example.Filter</filter-class></filter><filter-mapping>
    <filter-name>filter</filter-name>
    <url-pattern>/*</url-pattern></filter-mapping><servlet>
    <servlet-name>controller</servlet-name>
    <servlet-class>com.example.Controller</servlet-class></servlet><servlet-mapping>
    <servlet-name>controller</servlet-name>
    <url-pattern>/pages/*</url-pattern></servlet-mapping>

在過濾器中包含以下內容doFilter():

HttpServletRequest req = (HttpServletRequest) request;String path = req.getRequestURI().substring(req.getContextPath().length());if (path.startsWith("/static")) {
    chain.doFilter(request, response); // Goes to default servlet.} else {
    request.getRequestDispatcher("/pages" + path).forward(request, response);}

不,這不會以/pages在瀏覽器地址欄中。完全透明。如果必要的話你可以"/static"和/或"/pages"init-param過濾器的。


查看完整回答
反對 回復 2019-06-28
?
慕慕森

TA貢獻1856條經驗 獲得超17個贊

帶著春季3.0.4你可以用更高的

<mvc:resources mapping="/resources/**" location="/public-resources/"/>

如圖所示彈簧參考.


查看完整回答
反對 回復 2019-06-28
  • 3 回答
  • 0 關注
  • 665 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號