缺少spring mvc项目中的dispatcher-servlet.xml

时间:2014-10-18 01:58:25

标签: spring spring-mvc

我在Spring工具套装中创建了一个Spring mvc项目。我正在关注YouTube教程视频,视频作者提到了一些文本被添加到dispatcher-servlet.xml,但是当我创建Spring项目时没有创建dispatcher-servlet.xml。这是为什么?它可以被称为其他东西吗?

1 个答案:

答案 0 :(得分:0)

我认为有几种方法可以创建简单的spring web项目。我知道的一些方法是:

  1. 从eclipse(STS)创建动态网络项目/并将春季文章投入其中。

  2. 表单STS文件/新建/ Maven项目(org.apache.maven.archetypes)/填充组ID,工件ID v.v ..

  3. 来自STS File / New / Spring Project / Simple Spring Web Maven。

  4. Spring Roo命令web mvc setup

  5. 不属于如何创建项目,创建后我们总是有文件web.xml

    web.xml的内容与此类似

        <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
    
    <!-- The most important thing to understand is that there are 2 layers of application contexts,
     and they each have default XML files to load beans from
     1.Servlet Application Context
     2.Root application context
      -->
    
      <display-name>Archetype Created Web Application</display-name>
        <!-- 
        The Each Spring DispatcherServlet defined in the web.xml file gets its own application context. 
        If there is a Root application context (i.e. if a ContextLoaderListener is defined), then 
        that will be the parent of the servlet context and the beans will be available for use in 
        the servlet context(s). By default, DispatcherServlet loads beans from the file
         /WEB-INF/<servlet-name>-servlet.xml -->
        <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>*.html</url-pattern>
        </servlet-mapping>
    
        <session-config>
            <session-timeout>
                30
            </session-timeout>
        </session-config>
        <welcome-file-list>
            <welcome-file>redirect.jsp</welcome-file>
        </welcome-file-list>
    
        <!--The Root application context is created 
            when you specify a ContextLoaderListener in your web.xml file. If you don't 
            specify a listener, then there will be no Root context (which is valid). 
            It allows you to define beans that will be available to all the servlet
             contexts.REMEMBER: This context is OPTIONAL, and will only be created if 
             you specify a ContextLoaderListener -->
        <listener>
            <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
        </listener>
        <context-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>
                /WEB-INF/spring-security.xml,
                /WEB-INF/spring-database.xml
            </param-value>
        </context-param>
    
        <filter>
            <filter-name>springSecurityFilterChain</filter-name>
            <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
        </filter>
    
        <filter-mapping>
            <filter-name>springSecurityFilterChain</filter-name>
            <url-pattern>/</url-pattern>
        </filter-mapping>
    </web-app>
    

    声明

    <init-param>
           <param-name>contextConfigLocation</param-name>
           <param-value>WEB-INF/dispatcher-servlet.xml</param-value>
    </init-param> 
    

    是dispatcher-servlet xml配置文件的位置。如果缺少此声明,则缺省值为direcrory webapp(或WebContent)中的文件名dispatcher-servlet.xml。如果缺少dispatcher-servlet.xml,请不要担心,只需在那里创建文件即可。我们可以通过将此declation放到web.xml文件中来更改dispathcher servlet xml配置文件的名称和位置

    <init-param>
               <param-name>contextConfigLocation</param-name>
               <param-value>WEB-INF/example/funny.xml</param-value>
     </init-param> 
    

    认为它可以提供帮助