将多个servlet部署到单个Tomcat服务器

时间:2010-06-27 13:41:07

标签: java tomcat servlets

我正在使用Eclipse,可以让我的每个servlet通过Eclipse独立工作(使用HTTP Client进行测试)。但真正的工作是让他们同时工作。

我正在使用Tomcat,但不知道如何同时运行所有三个servlet。它们都在web.xml文件中正确映射。如何从Eclipse部署这些?

2 个答案:

答案 0 :(得分:10)

好吧,只需在web.xml中映射其中所有3个并进行部署即可。下面是一个示例web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <servlet>
    <servlet-name>Servlet1</servlet-name>
    <servlet-class>com.acme.Servlet1</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>Servlet2</servlet-name>
    <servlet-class>com.acme.Servlet2</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>Servlet3</servlet-name>
    <servlet-class>com.acme.Servlet3</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>Servlet1</servlet-name>
    <url-pattern>/path1/*</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>Servlet2</servlet-name>
    <url-pattern>/path2/*</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>Servlet3</servlet-name>
    <url-pattern>/path3/*</url-pattern>
  </servlet-mapping>
</web-app>

请注意,以下网址(假设mycontext为上下文):

  • http://hostname:port/mycontext/path1/foo
  • http://hostname:port/mycontext/path1/bar?aparam=avalue
  • http://hostname:port/mycontext/path1

匹配模式<url-pattern>/path1/*</url-pattern>(因此您无需将它们映射到/ path1,/ path1 /*)。

如果您使用的是Eclipse WTP,则可以将Tomcat注册为服务器,并从Eclipse部署动态Web项目右键单击在项目上选择运行方式&gt;在服务器上运行)。

在Eclipse之外,您必须将应用程序打包为.war(Web应用程序的标准格式)并在Tomcat上部署此战争。有几种方法可以做到这一点,但最直接的方法是将战争复制到$TOMCAT_HOME/webapps

答案 1 :(得分:1)

如果您希望在没有任何请求发送到服务器的情况下启动servlet添加
&LT;负载上的启动将N&LT;负载上的启动/&GT;

&lt; servlet&gt; 映射中的 N = 1,2,3 ......