當前位置:
首頁 > 知識 > spring mvc 中對靜態資源的訪問配置

spring mvc 中對靜態資源的訪問配置

在web.xml中配置spring mc servlet

對url-pattern設置時,排除在spring的servlet之外。

<servlet>

<servlet-name>dispatcherServlet</servlet-name>

<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

<init-param>

<param-name>contextConfigLocation</param-name>

<param-value>/WEB-INF/mvc-config.xml</param-value>

</init-param>

<load-on-startup>1</load-on-startup>

</servlet>

<servlet-mapping>

<servlet-name>dispatcherServlet</servlet-name>

<url-pattern>/</url-pattern>

</servlet-mapping>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

上面的路徑配置』/』中,把所有的url處理全部交給spring mvc來處理了。這樣靜態資源也會被其攔截處理。

改進:

修改spring mvc的servlet處理的url-pattern,指定其具體處理路徑。

在web.xml中使用容器對應的default servlet優先處理靜態資源

每個java web容器都有其default servlet。在spring mvc servlet直接,先配置default servlet處理靜態資源

- Tomcat, Jetty, JBoss, and GlassFish 默認 Servlet的名字 -- "default"

- Resin 默認 Servlet的名字 -- "resin-file"

- WebLogic 默認 Servlet的名字 -- "FileServlet"

1

2

3

<servlet-mapping>

<servlet-name>default</servlet-name>

<url-pattern>*.jpg</url-pattern>

</servlet-mapping>

<servlet-mapping>

<servlet-name>default</servlet-name>

<url-pattern>*.js</url-pattern>

</servlet-mapping>

<servlet-mapping>

<servlet-name>default</servlet-name>

<url-pattern>*.css</url-pattern>

</servlet-mapping>

<servlet-mapping>

<servlet-name>default</servlet-name>

<url-pattern>*.html</url-pattern>

</servlet-mapping>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

在spring mvc的配置中設置方法有2種

選擇其中任意一種

<!-- 方式1 靜態資源訪問處理 這種方法就是利用容器的default servlet來處理先 -->

<mvc:default-servlet-handler/>

<!-- 方式2 靜態資源訪問處理 org.springframework.web.servlet-3.1.4版本及以後使用 -->

<!-- Handles HTTP GET requests for /resources/** by efficiently serving up static resources in the ${webappRoot}/resources directory -->

<mvc:resources mapping="/static/**" location="/static/" />

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

<mvc:resources mapping="/images/**" location="/images/" />

<mvc:resources mapping="/js/**" location="/js/" />

1

2

3

4

5

6

7

8

9

10

在伺服器的load balance中配置

其實,靜態的資源不需要進入到spring mvc等java web容器內處理,為性能考慮,可以在前面過濾處理了。

尤其在分散式的環境中,更應如此。

spring mvc 中對靜態資源的訪問配置

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員小新人學習 的精彩文章:

後台返回json數據和前台解析json數據
20 張圖表達程序員的心酸(形容的比喻)

TAG:程序員小新人學習 |