您的位置:首页 > 编程语言 > Java开发

springmvc的welcome-file不能访问html问题

2018-02-24 17:02 267 查看
在配置springmvc的<welcome-file>的时候碰见这样一个问题:只能访问jsp却不能访问html。
在翻看tomcat配置文件后才发现原因:项目的web.xml配置中多了这样一段代码:<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.png</url-pattern>
</servlet-mapping>在tomcat的web.xml中默认配置了DefaultServlet,并且<url-pattern>/</url-pattern>,可以处理springmvc配置文件配置之外的所有请求。
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
当配置了.png之后,优先级高于tomcat的配置,DefaultServlet只能处理.png的请求。不能接受所有的请求了,.html不能识别。所以访问不到。但能访问jsp的原因是tomcat中默认已经单独配置处理jsp。
<servlet>
        <servlet-name>jsp</servlet-name>
        <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
        <init-param>
            <param-name>fork</param-name>
            <param-value>false</param-value>
        </init-param>
        <init-param>
            <param-name>xpoweredBy</param-name>
            <param-value>false</param-value>
        </init-param>
        <load-on-startup>3</load-on-startup>
    </servlet>
<servlet-mapping>
        <servlet-name>jsp</servlet-name>
        <url-pattern>*.jsp</url-pattern>
        <url-pattern>*.jspx</url-pattern>
    </servlet-mapping>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐