我是 Java Enterprise 和 Spring 的新手,但我对标准 Java 有很强的掌握。我正在浏览一个现有的 Web 应用程序项目。该项目使用 Tomcat/Spring/Hibernate,据我所知这是相当普遍的。它还使用 DWR 进行远程方法调用。我发现区分职责有些困难:Tomcat 负责什么,Spring 负责什么,请求如何从一个到另一个,以及 Spring 的主要部分如何组合在一起。我已经阅读了大量有关 Spring 的文档,尤其是有关 bean 和 bean factory 的文档,并且仍在阅读更多内容。欢迎大家提出任何建议,但我会提供一些具体问题。
问题 1:web.xml 在什么地方适合(什么时候使用/调用,从哪里调用)?
代码示例 1:
<servlet>
<servlet-name>qrst</servlet-name>
<display-name>qrst Servlet</display-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
上面的代码片段做了什么(或者,它会导致什么发生)?在我的网络应用程序 qrst.jsp 的某个时刻被使用;是使用 servlet 名称调用 qrst.jsp 的 DispatcherServlet 吗?否则 servlet 名称的意义是什么?什么是启动负载?
代码示例 2:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/someLocation/some-servlet.xml
</param-value>
</context-param>
以上内容的链接或解释?通过查看 XML 文件,我可以看到它包含 bean 定义,并且我确实了解 bean 是什么以及它们是如何使用的,但是我不知道有关此的任何其他详细信息并且想知道。
代码示例 3:
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<display-name>DWR</display-name>
<servlet-class>
org.directwebremoting.servlet.DwrServlet
</servlet-class>
<init-param>
<param-name>classes</param-name>
<param-value>
somepackage.someclass
</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
根据我对 bean 的了解,我相信那些 init-param 元素只是在 servlet 的 java 类中设置的参数。servlet 名称有什么意义,启动时的负载又如何?Web 应用程序以某种方式“知道”何时发生 AJAX (dwr) 调用与第一次加载 Web 应用程序时(第一次加载时应该使用 qrst.jsp)。它怎么知道这个?它如何决定将请求路由到 DWR 而不是 qrst.jsp?它在哪里做到这一点?
谢谢。