Spring MVC 中直接返回HTML視圖

爲何靜態資源會被攔截

在咱們使用SpringMvc時,會在web.xml中配置下面的信息。css

<servlet-mapping>
        <servlet-name>spring</servlet-name>
        <url-pattern>/</url-pattern>
</servlet-mapping>

其實這裏就表明了全部的請求會過濾靜態資源(html,css,js,圖片)。 特別須要注意的是/*符號,這是錯誤。html

取消靜態資源攔截

一、攔截*.do、*.htm, 例如:/user/add.doweb

這是最傳統的方式,最簡單也最實用。不會致使靜態文件(jpg,js,css)被攔截。spring

二、攔截/,例如:/user/addapp

能夠實現如今很流行的REST風格。不少互聯網類型的應用很喜歡這種風格的URL。 須要在url

<servlet-mapping>
        <servlet-name>spring</servlet-name>
        <url-pattern>/</url-pattern>
</servlet-mapping>

以前增長鬚要的代碼。code

<servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.css</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.gif</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.jpg</url-pattern>
    </servlet-mapping>  
    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.png</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>*.html</url-pattern>
    </servlet-mapping>

或者代碼能夠寫成這樣xml

<servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.css</url-pattern>
        <url-pattern>*.gif</url-pattern>
        <url-pattern>*.jpg</url-pattern>
        <url-pattern>*.png</url-pattern>
        <url-pattern>*.js</url-pattern>
        <url-pattern>*.html</url-pattern>
    </servlet-mapping>
相關文章
相關標籤/搜索