Spring mvc 基于Spring MVC xml的配置-空白页

Spring mvc 基于Spring MVC xml的配置-空白页,spring-mvc,tomcat,intellij-idea,Spring Mvc,Tomcat,Intellij Idea,我正试图编写我的第一个SpringMVC应用程序,但我遇到了一个无法解决的问题 当我在Tomcat上运行应用程序时,它会启动,但每当我请求控制器处理的url时,它就会进入控制器,但不会返回视图 我知道网上有很多类似的问题。不幸的是,这些都没有帮助我解决问题 因此,我在IntellijIdea 2016.2.3中撰文,并获得了Maven对该项目的支持。 我的Tomcat服务器是8.5版本 因此,我有一个控制器文件,如下所示: MyController.java package com.exampl

我正试图编写我的第一个SpringMVC应用程序,但我遇到了一个无法解决的问题

当我在Tomcat上运行应用程序时,它会启动,但每当我请求控制器处理的url时,它就会进入控制器,但不会返回视图

我知道网上有很多类似的问题。不幸的是,这些都没有帮助我解决问题

因此,我在IntellijIdea 2016.2.3中撰文,并获得了Maven对该项目的支持。
我的Tomcat服务器是8.5版本

因此,我有一个控制器文件,如下所示:

MyController.java

package com.example.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 * Created by tomko_2 on 2017-03-07.
 */
@Controller
public class MyController {

        @RequestMapping("/mytest")
        public String home() {

            System.out.println("controller at work");
            return "index";
        }
}
Application.java

package com.example;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

/**
 * Created by tomko_2 on 2017-03-08.
 */
@SpringBootApplication
public class Application extends SpringBootServletInitializer {

    public Application() {
        super();
        setRegisterErrorPageFilter(false);
    }

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(Application.class);
    }


    public static void main(String[] args) throws Exception {
        SpringApplication.run(Application.class, args);
    }

}
这是我的服务器输出日志。第二行看起来很可疑,但我找不到它看起来如此可疑的原因

"C:\Program Files\Apache Software Foundation\Tomcat 8.5\bin\catalina.bat" run
[2017-03-12 10:22:49,247] Artifact spring-mvc-show:war exploded: Server is not connected. Deploy is not available.
Using CATALINA_BASE:   "C:\Users\tomko_2\.IntelliJIdea2016.2\system\tomcat\Unnamed_spring-mvc-show"
Using CATALINA_HOME:   "C:\Program Files\Apache Software Foundation\Tomcat 8.5"
Using CATALINA_TMPDIR: "C:\Program Files\Apache Software Foundation\Tomcat 8.5\temp"
Using JRE_HOME:        "C:\Program Files\Java\jdk1.8.0_73"
Using CLASSPATH:       "C:\Program Files\Apache Software Foundation\Tomcat 8.5\bin\bootstrap.jar;C:\Program Files\Apache Software Foundation\Tomcat 8.5\bin\tomcat-juli.jar"
12-Mar-2017 22:22:50.475 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version:        Apache Tomcat/8.5.11
12-Mar-2017 22:22:50.475 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built:          Jan 10 2017 21:02:52 UTC
12-Mar-2017 22:22:50.475 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server number:         8.5.11.0
12-Mar-2017 22:22:50.475 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name:               Windows 8.1
12-Mar-2017 22:22:50.475 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version:            6.3
12-Mar-2017 22:22:50.475 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture:          amd64
12-Mar-2017 22:22:50.475 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home:             C:\Program Files\Java\jdk1.8.0_73\jre
12-Mar-2017 22:22:50.475 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version:           1.8.0_73-b02
12-Mar-2017 22:22:50.475 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor:            Oracle Corporation
12-Mar-2017 22:22:50.475 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:         C:\Users\tomko_2\.IntelliJIdea2016.2\system\tomcat\Unnamed_spring-mvc-show
12-Mar-2017 22:22:50.475 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:         C:\Program Files\Apache Software Foundation\Tomcat 8.5
12-Mar-2017 22:22:50.475 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=C:\Users\tomko_2\.IntelliJIdea2016.2\system\tomcat\Unnamed_spring-mvc-show\conf\logging.properties
12-Mar-2017 22:22:50.475 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
12-Mar-2017 22:22:50.475 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote=
12-Mar-2017 22:22:50.475 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.port=1099
12-Mar-2017 22:22:50.475 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.ssl=false
12-Mar-2017 22:22:50.475 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.authenticate=false
12-Mar-2017 22:22:50.475 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.rmi.server.hostname=127.0.0.1
12-Mar-2017 22:22:50.475 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
12-Mar-2017 22:22:50.475 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
12-Mar-2017 22:22:50.475 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=C:\Users\tomko_2\.IntelliJIdea2016.2\system\tomcat\Unnamed_spring-mvc-show
12-Mar-2017 22:22:50.475 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=C:\Program Files\Apache Software Foundation\Tomcat 8.5
12-Mar-2017 22:22:50.475 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=C:\Program Files\Apache Software Foundation\Tomcat 8.5\temp
12-Mar-2017 22:22:50.475 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded APR based Apache Tomcat Native library 1.2.10 using APR version 1.5.2.
12-Mar-2017 22:22:50.475 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
12-Mar-2017 22:22:50.475 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR/OpenSSL configuration: useAprConnector [false], useOpenSSL [true]
12-Mar-2017 22:22:51.507 INFO [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL successfully initialized (OpenSSL 1.0.2j  26 Sep 2016)
12-Mar-2017 22:22:51.725 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"]
12-Mar-2017 22:22:51.757 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
12-Mar-2017 22:22:51.772 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["ajp-nio-8009"]
12-Mar-2017 22:22:51.772 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
12-Mar-2017 22:22:51.772 INFO [main] org.apache.catalina.startup.Catalina.load Initialization processed in 1872 ms
12-Mar-2017 22:22:51.835 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service Catalina
12-Mar-2017 22:22:51.835 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.5.11
12-Mar-2017 22:22:51.851 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [http-nio-8080]
12-Mar-2017 22:22:51.866 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [ajp-nio-8009]
12-Mar-2017 22:22:51.866 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 92 ms
Connected to server
[2017-03-12 10:22:51,991] Artifact spring-mvc-show:war exploded: Artifact is being deployed, please wait...
12-Mar-2017 22:22:54.991 INFO [RMI TCP Connection(5)-127.0.0.1] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v1.5.1.RELEASE)

2017-03-12 22:22:56.851  INFO 208 --- [on(5)-127.0.0.1] com.example.Application                  : Starting Application on komp-TN with PID 208 (started by tomko_2 in C:\Program Files\Apache Software Foundation\Tomcat 8.5\bin)
2017-03-12 22:22:56.866  INFO 208 --- [on(5)-127.0.0.1] com.example.Application                  : No active profile set, falling back to default profiles: default
2017-03-12 22:22:56.960  INFO 208 --- [on(5)-127.0.0.1] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@7de0fc9: startup date [Sun Mar 12 22:22:56 CET 2017]; root of context hierarchy
2017-03-12 22:22:58.991  INFO 208 --- [on(5)-127.0.0.1] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.boot.autoconfigure.validation.ValidationAutoConfiguration' of type [org.springframework.boot.autoconfigure.validation.ValidationAutoConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2017-03-12 22:22:59.148  INFO 208 --- [on(5)-127.0.0.1] trationDelegate$BeanPostProcessorChecker : Bean 'validator' of type [org.springframework.validation.beanvalidation.LocalValidatorFactoryBean] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2017-03-12 22:22:59.195  INFO 208 --- [on(5)-127.0.0.1] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 2235 ms
2017-03-12 22:23:00.148  INFO 208 --- [on(5)-127.0.0.1] o.s.b.w.servlet.ServletRegistrationBean  : Mapping servlet: 'dispatcherServlet' to [/]
2017-03-12 22:23:00.148  INFO 208 --- [on(5)-127.0.0.1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'errorPageFilter' to: [/*]
2017-03-12 22:23:00.148  INFO 208 --- [on(5)-127.0.0.1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'characterEncodingFilter' to: [/*]
2017-03-12 22:23:00.148  INFO 208 --- [on(5)-127.0.0.1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'hiddenHttpMethodFilter' to: [/*]
2017-03-12 22:23:00.148  INFO 208 --- [on(5)-127.0.0.1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'httpPutFormContentFilter' to: [/*]
2017-03-12 22:23:00.148  INFO 208 --- [on(5)-127.0.0.1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'requestContextFilter' to: [/*]
2017-03-12 22:23:00.976  INFO 208 --- [on(5)-127.0.0.1] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerAdvice: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@7de0fc9: startup date [Sun Mar 12 22:22:56 CET 2017]; root of context hierarchy
2017-03-12 22:23:01.148  INFO 208 --- [on(5)-127.0.0.1] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/mytest]}" onto public java.lang.String com.example.controller.MyController.home()
2017-03-12 22:23:01.148  INFO 208 --- [on(5)-127.0.0.1] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.BasicErrorController.error(javax.servlet.http.HttpServletRequest)
2017-03-12 22:23:01.148  INFO 208 --- [on(5)-127.0.0.1] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],produces=[text/html]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
2017-03-12 22:23:01.242  INFO 208 --- [on(5)-127.0.0.1] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2017-03-12 22:23:01.242  INFO 208 --- [on(5)-127.0.0.1] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2017-03-12 22:23:01.335  INFO 208 --- [on(5)-127.0.0.1] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2017-03-12 22:23:01.742  INFO 208 --- [on(5)-127.0.0.1] o.s.j.e.a.AnnotationMBeanExporter        : Registering beans for JMX exposure on startup
2017-03-12 22:23:01.789  INFO 208 --- [on(5)-127.0.0.1] com.example.Application                  : Started Application in 6.251 seconds (JVM running for 12.433)
2017-03-12 22:23:01.835  INFO 208 --- [on(5)-127.0.0.1] o.s.web.servlet.DispatcherServlet        : FrameworkServlet 'dispatcher': initialization started
2017-03-12 22:23:01.835  INFO 208 --- [on(5)-127.0.0.1] o.s.w.c.s.XmlWebApplicationContext       : Refreshing WebApplicationContext for namespace 'dispatcher-servlet': startup date [Sun Mar 12 22:23:01 CET 2017]; parent: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@7de0fc9
2017-03-12 22:23:01.835  INFO 208 --- [on(5)-127.0.0.1] o.s.b.f.xml.XmlBeanDefinitionReader      : Loading XML bean definitions from ServletContext resource [/WEB-INF/dispatcher-servlet.xml]
12-Mar-2017 22:23:01.851 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory C:\Program Files\Apache Software Foundation\Tomcat 8.5\webapps\manager
12-Mar-2017 22:23:02.242 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory C:\Program Files\Apache Software Foundation\Tomcat 8.5\webapps\manager has finished in 375 ms
2017-03-12 22:23:04.070  INFO 208 --- [on(5)-127.0.0.1] o.s.j.e.a.AnnotationMBeanExporter        : Registering beans for JMX exposure on startup
2017-03-12 22:23:04.117  INFO 208 --- [on(5)-127.0.0.1] o.s.web.servlet.DispatcherServlet        : FrameworkServlet 'dispatcher': initialization completed in 2282 ms
[2017-03-12 10:23:04,132] Artifact spring-mvc-show:war exploded: Artifact is deployed successfully
[2017-03-12 10:23:04,132] Artifact spring-mvc-show:war exploded: Deploy took 12 141 milliseconds
controller at work
2017-03-12 22:27:25.668 ERROR 208 --- [nio-8080-exec-7] o.s.boot.web.support.ErrorPageFilter     : Cannot forward to error page for request [/mytest] as the response has already been committed. As a result, the response may have the wrong status code. If your application is running on WebSphere Application Server you may be able to resolve this problem by setting com.ibm.ws.webcontainer.invokeFlushAfterService to false
web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">

    <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/dispatcher-servlet.xml</param-value>
        </init-param>

        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
</web-app>
文件->项目结构->面->弹簧:

Spring Application Context (dispatcher-servlet.xml) # here I'm not sure if it should be so, maybe I need applicationContext.xml, but as my project is really simple and based on single servlet I wanted to place all configuration in dispatcher-servlet.xml
MVC dispatcher servlet context (dispatcher-servlet.xml)
Application (Application)
运行->编辑配置:

我在那里注册了我的本地Tomcat服务器。 在“部署”选项卡中,我只有war:用applicationContext“/”分解


如果我犯了一个非常愚蠢的错误,请原谅我,但我正在处理Spring MVC基本配置问题,我已经花了半个星期的时间,完全不知道那里会出什么问题。

删除application.java并部署并检查谢谢。这是一个非常好的观点,但事实上不是最后一个问题。问题还在于SpringMVC的无效模式位置,它在DispatcherServlet的第5行和第6行xml中以某种方式被SpringCache替换。现在它可以工作了,尽管它仍然显示:“工件spring mvc show:war分解:服务器未连接。部署不可用。”在应用程序运行时。从dispatchservlet文件中删除缓存xsd位置。我看不到您在任何地方使用过它。现在它看起来应该是这样的。非常感谢你。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">

    <context:component-scan base-package="com.example"/>
    <mvc:annotation-driven/>

    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/pages/" />
        <property name="suffix" value=".jsp" />
    </bean>
</beans>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>$Title$</title>
  </head>
  <body>
  $END$
  </body>
</html>
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/">
</Context>
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example</groupId>
    <artifactId>spring-mvc-show</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>war</packaging>

    <dependencies>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.2</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>4.3.7.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-autoconfigure</artifactId>
            <version>1.5.1.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>1.4.2.RELEASE</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.5.1</version>
            </plugin>
            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <version>2.2</version>
            </plugin>
        </plugins>
    </build>


    <properties>
        <java.version>1.8</java.version>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
    </properties>

</project>
Web Module Deployment Descriptor (path_to_project/web/WEB-INF/web.xml)

Tomcat Context Descriptor (path_to_project/web/META-INF/context.xml)

Web Resource Directory (path_to_project/web)
Spring Application Context (dispatcher-servlet.xml) # here I'm not sure if it should be so, maybe I need applicationContext.xml, but as my project is really simple and based on single servlet I wanted to place all configuration in dispatcher-servlet.xml
MVC dispatcher servlet context (dispatcher-servlet.xml)
Application (Application)