【问题标题】:Deploying multiple servlets to a single Tomcat Server将多个 servlet 部署到单个 Tomcat 服务器
【发布时间】:2010-06-27 13:41:06
【问题描述】:

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

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

【问题讨论】:

    标签: java tomcat servlets


    【解决方案1】:

    好吧,只需将它们全部映射到web.xml 并部署它们。下面是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>
    

    请注意以下 URL(假设 mycontext 是上下文):

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

    匹配模式&lt;url-pattern&gt;/path1/*&lt;/url-pattern&gt;(因此您不需要将它们映射到/path1、/path1/*)。

    如果您使用的是 Eclipse WTP,您可以将 Tomcat 注册为 Server 并从 Eclipse 上部署您的 Dynamic Web Project右键单击 strong> 并选择 Run As > Run on Server)。

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

    【讨论】:

    • 太棒了,而且非常及时!我什至还没有离开网站!无论如何.. 谢谢.. 我能够从 Eclipse 中运行它们,但会将它们部署为 Tomcat 的 Web 存档。再次感谢!
    【解决方案2】:

    如果您希望在不向服务器发送任何请求的情况下启动 servlet,请添加
    N

    映射中的 N=1,2,3....

    【讨论】:

      猜你喜欢
      • 2010-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多