我的网络应用程序有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>
Context.xml用于特定于环境的数据库连接,队列连接是。使用公共dbcp是首选吗?
并且dispatcher-servlet.xml看起来像这样:为什么它需要像这样?
就服务器加载的这些文件而言,首先加载context.xml,然后加载web.xml,然后加载dispatcher-servlet.xml?
就客户端请求而言,它是否会首先被调度程序-servlet截获?
答案 0 :(得分:1)
是的,如果符合您的要求,可以使用dbcp。 基本上context.xml是一个Spring配置文件来定义spring bean。这是针对spring-core。
调度员servlet.xml中 这是Spring Web MVC配置的另一个Spring配置文件。也可以混合文件1和2,但严格丢弃。它定义了您的Sprinf MVC配置,任何Web资源包,mvc拦截器等。如果您选择使用不同的Web框架(如JSF或struts),则不需要将此文件和其他配置文件添加到项目中。
将首先加载web.xml - 始终用于任何Java Web应用程序。在那里,您可以定义调度程序servlet。你已经定义了监听器。加载Web应用程序后,将通知侦听器(回答您的问题 - 听众正在做什么)然后,侦听器获取指定为上下文参数的文件列表并从中加载弹簧上下文。完成后,Web应用程序将完全加载。
首先请求的内容取决于以下行
<servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern>*.mvc</url-pattern> </servlet-mapping>
任何以.mvc结尾的请求url都将被Spring dispatcher-servlet拦截。