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>
相关文章
相关标签/搜索