xml裏面配置標籤:css
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app> <display-name>Archetype Created Web Application</display-name> <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springmvc.xml</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <!-- 方式一:帶後綴,好比*.action *.do *.aaa 該種方式比較精確、方便,在之前和如今企業中都有很大的使用比例 方式二:/ 不會攔截 .jsp,可是會攔截.html等靜態資源(靜態資源:除了servlet和jsp以外的js、css、png等) 爲何配置爲/ 會攔截靜態資源??? 由於tomcat容器中有一個web.xml(父),你的項目中也有一個web.xml(子),是一個繼承關係 父web.xml中有一個DefaultServlet, url-pattern 是一個 / 此時咱們本身的web.xml中也配置了一個 / ,覆寫了父web.xml的配置 爲何不攔截.jsp呢? 由於父web.xml中有一個JspServlet,這個servlet攔截.jsp文件,而咱們並無覆寫這個配置, 因此springmvc此時不攔截jsp,jsp的處理交給了tomcat 如何解決/攔截靜態資源這件事? 方式三:/* 攔截全部,包括.jsp --> <!--攔截匹配規則的url請求,進入springmvc框架處理--> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>
父xml的路徑:html
咱們配置的springmvc.xml只能對jsp進行攔截,但不能對html等進行攔截,咱們在webapp下新建個test.html
java
而後訪問:
web
緣由是沒有對html等靜態資源後綴進行處理的handle.spring
咱們在springmvc.xml裏面配置:tomcat
<mvc:default-servlet-handler/>
訪問:mvc
繼續測試:
若是咱們將html頁面放在webapp之外的其餘位置,都是沒法訪問的:
app
那若是咱們想讓靜態資源在resources下面訪問,咱們應該怎麼配置呢?框架
將test.html放在resources目錄下面,而後配置springmvc.xml:webapp
<!--靜態資源配置,方案二,SpringMVC框架本身處理靜態資源 mapping:約定的靜態資源的url規則 location:指定的靜態資源的存放位置 --> <mvc:resources location="classpath:/" mapping="/resources/**"/>
resources目錄就是我們的classpath路徑。
訪問:
http://localhost:8080/resources/test.html