• spring mvc访问html页面404报错解决


    <servlet>
    <servlet-name>context</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath*:/spring-mvc.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
    <servlet-name>context</servlet-name>
    <url-pattern>/</url-pattern>
    </servlet-mapping>

    相比大家都对url-pattern 路径/和/*都有所困扰。
    网上说,/不对(.jsp,.html等)进行拦截。/*对(.jsp,.html等)进行拦截。其实不是这样的。这两个都会进行拦截,只是不同点就是,
    /路径会先被Tomcat下web.xml里面的servlet拦截
    /*规则会覆盖所有默认的servlet,会将所有请求都拦截了下来

    如果是请求的是html文件。配置成<url-pattern>/</url-pattern>会出现404 。如果是jsp则可以请求200
    接下来看下tomcat web.xml文件。原因就是tomcat下的web.xml配置了.jsp文件。所以可以正常访问。
        <!-- The mapping for the default servlet -->
        <servlet-mapping>
            <servlet-name>default</servlet-name>
            <url-pattern>/</url-pattern>
        </servlet-mapping>

        <!-- The mappings for the JSP servlet -->
        <servlet-mapping>
            <servlet-name>jsp</servlet-name>
            <url-pattern>*.jsp</url-pattern>
            <url-pattern>*.jspx</url-pattern>
        
        </servlet-mapping>

    解决方案:
    1.那么对于html文件咋办?可以在自己项目下web.xml加入
    <servlet-mapping>
        <servlet-name>jsp</servlet-name>
        <url-pattern>*.html</url-pattern>
    </servlet-mapping>
    2.或者在tomcat下web.xml加入 <url-pattern>*.html</url-pattern>不建议这样做,不灵活

    3.还可以在springmvc.xml中针对资源文件加入以下,也可以解决
    <mvc:default-servlet-handler/>

    原文链接:https://blog.csdn.net/saygood999/article/details/86291249

  • 相关阅读:
    关于匹配的一些问题
    Codeforces Round #396 (Div. 2) A,B,C,D,E
    Codeforces Round #394 (Div. 2) A,B,C,D,E
    HDU 1848 SG函数博弈
    HDU 1536 S-Nim SG博弈
    HDU 2509 Be the Winner nim博弈变形
    HDU 1907 John nim博弈变形
    Codeforces Round #222 (Div. 1) D. Developing Game 线段树有效区间合并
    BZOJ 1031: [JSOI2007]字符加密Cipher 后缀数组
    HDU 5769 Substring 后缀数组
  • 原文地址:https://www.cnblogs.com/YeHuan/p/11529353.html
Copyright © 2020-2023  润新知