整合SSM框架后,启动服务器出现404错误,怎么办?

我在按照Java EE企业级应用开发教程这本书写的整合SSM框架后,
运行程序发现这个404错误
图片说明
当我将web.xml里的加载Spring文件的监听器和编码过滤器的配置都注释掉后,就可以访问首页了
图片说明
这是怎么回事啊?下面web.xml的代码

 <?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://xmlns.jcp.org/xml/ns/javaee"
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 
    http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
    id="WebApp_ID" version="3.1">
    <!--配置加载Spring文件的监听器     -->
<!--    <context-param> -->
<!--        <param-name>contextConfigLocation</param-name> -->
<!--        <param-value>classpath:applicationContext.xml</param-value> -->
<!--    </context-param> -->
<!--    <listener> -->
<!--        <listener-class> -->
<!--            org.springframework.web.context.ContextLoaderListener -->
<!--        </listener-class> -->
<!--    </listener> -->
    <!--编码过滤器 -->
<!--    <filter> -->
<!--        <filter-name>encoding</filter-name> -->
<!--        <filter-class> -->
<!--            org.springframework.web.filter.CharacterEncodingFilter -->
<!--        </filter-class> -->
<!--        <init-param> -->
<!--            <param-name>encoding</param-name> -->
<!--            <param-value>UTF-8</param-value> -->
<!--        </init-param> -->
<!--    </filter> -->
<!--    <filter-mapping> -->
<!--        <filter-name>encoding</filter-name> -->
<!--        <url-pattern>*.action</url-pattern> -->
<!--    </filter-mapping>    -->
    <!-- 配置Spring MVC前端核心控制器 -->
    <servlet>
        <servlet-name>springmvc</servlet-name>
        <servlet-class>
            org.springframework.web.servlet.DispatcherServlet
        </servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:springmvc-config.xml</param-value>
        </init-param>
        <!-- 配置服务器启动后立即加载Spring MVC配置文件 -->
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
    <welcome-file-list>
       <welcome-file>/index.jsp</welcome-file>
    </welcome-file-list>
</web-app>

没有将配置文件放在源文件夹里面,所以总是访问不到

Spring文件的监听器是解析扫描你的spring相关配置文件的,你的配置文件有问题啊,导致你系统有问题
注释,不解析就没问题啊 看看你的日志 看报错问题在哪

图片说明

把控制台的错误截图发出来 看看 这样比较方便找出错误源头

我以前也遇到过,看看配置文件,再不行换个编译器

https://github.com/FaceGhost/Simple-SSM

看一看服务器什么是否没有配置好https://github.com/FaceGhost/Simple-SSM