java中的Web应用程序配置

时间:2012-10-16 01:04:23

标签: java-ee spring-mvc

我的网络应用程序有3个“上下文”文件。一个是web.xml,一个是context.xml,另一个是dispatcher-servlet.xml。注意我将使用Spring作为我的Web应用程序。我有一个需要在服务器上运行的Web应用程序。有人可以验证我的理解吗? 1. Web.xml - 所有Java Web应用程序都需要并且必须具备。这是servlet配置的用武之地。参数param-name = contextConfigLocation和contextLoaderListener是什么?为什么需要它们? contextLoaderListener到底做了什么?

<context-param>
        <description>Spring Application Context Configuration</description>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            /WEB-INF/applicationContext-workflow.xml
            /WEB-INF/applicationContext-general.xml
        </param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>*.mvc</url-pattern>
    </servlet-mapping>
  1. Context.xml用于特定于环境的数据库连接,队列连接是。使用公共dbcp是首选吗?

  2. 并且dispatcher-servlet.xml看起来像这样:为什么它需要像这样?

        

  3. 就服务器加载的这些文件而言,首先加载context.xml,然后加载web.xml,然后加载dispatcher-servlet.xml?

  4. 就客户端请求而言,它是否会首先被调度程序-servlet截获?

1 个答案:

答案 0 :(得分:1)

  1. 是的,如果符合您的要求,可以使用dbcp。 基本上context.xml是一个Spring配置文件来定义spring bean。这是针对spring-core。

  2. 调度员servlet.xml中 这是Spring Web MVC配置的另一个Spring配置文件。也可以混合文件1和2,但严格丢弃。它定义了您的Sprinf MVC配置,任何Web资源包,mvc拦截器等。如果您选择使用不同的Web框架(如JSF或struts),则不需要将此文件和其他配置文件添加到项目中。

  3. 将首先加载web.xml - 始终用于任何Java Web应用程序。在那里,您可以定义调度程序servlet。你已经定义了监听器。加载Web应用程序后,将通知侦听器(回答您的问题 - 听众正在做什么)然后,侦听器获取指定为上下文参数的文件列表并从中加载弹簧上下文。完成后,Web应用程序将完全加载。

  4. 首先请求的内容取决于以下行

  5.  <servlet-mapping>
         <servlet-name>dispatcher</servlet-name>
         <url-pattern>*.mvc</url-pattern>
     </servlet-mapping>
    

    任何以.mvc结尾的请求url都将被Spring dispatcher-servlet拦截。