为什么rest-servlet,xml是SpringMVC必须的?

Jud*_*ing 2 java rest spring web.xml spring-mvc

在我看来web.xml,主要配置如下:

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
        /WEB-INF/spring-mvc-config.xml
    </param-value>
</context-param>

<filter>
    <filter-name>SetCharacterEncoding</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>

<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<servlet>
    <servlet-name>rest</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>rest</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

在我的spring-mvc-config.xml,只有2行:

<mvc:annotation-driven />
<import resource="spring.xml" />
Run Code Online (Sandbox Code Playgroud)

接下来,在我看来spring.xml,弹簧配置上有所有东西,没有关于springMVC配置的任何内容.

当我开始这个web应用程序在Tomcat中,它总是抛出FileNotFoundException[WEB-INF /休息-servlet.xml中],之后我添加它,它只是正常工作.

我只想知道web.xml中哪个部分指示在WEB-INF目录中必须有一个rest-servlet.xml.

我用Google搜索了但却一无所获.谁能帮助我?非常感谢!

Mat*_*ter 8

你已经命名为DispatcherServlet"rest",所以默认情况下Spring MVC正在寻找rest-servlet.xml.如果要使用其他文件名,请执行以下操作:

<servlet>
    <servlet-name>rest</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:/META-INF/spring/spring-mvc-config.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
Run Code Online (Sandbox Code Playgroud)