无法访问web项目中webroot下的jsp错误

原因:在web.xml文件中将总控制器的url用成了/*如下:

<!-- 配置总控制器 开始 -->
    <servlet>
        <servlet-name>face_crm</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!-- 不使用默认配置文件,调用自定义配置文件 -->
        <init-param>
             <!-- contextConfigLocation名称是固定的,不能更改 -->
             <param-name>contextConfigLocation</param-name>
             <param-value>classpath:springmvc-config.xml</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>face_crm</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>

    <!-- 配置总控制器 结束 -->

刚开始将tomcat的work文件中数据清空,和webapps文件清空也无法解决。

解决:将/*该为/----因为/*会拦截jsp资源进入控制器,而使用/不会拦截但是会拦截静态资源。所以要放行静态资源在spring.xml中配置静态资源放行,或在web.xml中陪置如下静态资源放行:

<!-- 静态资源免过滤 开始 -->
    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.js</url-pattern>
        <url-pattern>*.css</url-pattern>
        <url-pattern>*.gif</url-pattern>
        <url-pattern>*.png</url-pattern>
        <url-pattern>*.jpg</url-pattern>
        <url-pattern>*.json</url-pattern>
    </servlet-mapping>
    <!-- 静态资源免过滤 结束 -->

猜你喜欢

转载自blog.csdn.net/weixin_41929877/article/details/80176097