您的当前位置:首页正文

SpringMVC项目启动后无法访问index.jsp等静态页面

来源:九壹网

SpringMVC项目启动后无法访问index.jsp等静态页面

SpringMVC项目启动后无法访问index.jsp等静态页面,报404Not Found。其中一个可能的原因是被web.xml中配置的dispatcherServlet拦截处理.jsp或.html,但是又未实现相关功能导致。

  • web.xml配置
<!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>
    <servlet>
        <servlet-name>dispatcherServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:application.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>dispatcherServlet</servlet-name>
        <!--如果想访问.jsp等静态页面,需配置为 / -->
        <url-pattern>/</url-pattern>
    </servlet-mapping>
</web-app>

检查下是否配置为/*,由DispatcherServlet拦截了.jsp和.html等静态资源的请求。可以将配置为/

<url-pattern>配置/、/*、/**的区别

/:表示匹配所有请求,其中包含除.jsp和.jspx外的所有后缀。

/*:会覆盖其他所有的servlet,包括servlet容器提供的所有servlet。即无论你发出什么请求,都会在该servlet拦截处理,当然也包括.jsp和.html等静态资源。

/**:什么请求都不能拦截处理,相当于没有设置。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top