2010-06-27 119 views
5

我正在使用Eclipse,並且可以讓每個servlet通過Eclipse獨立工作(使用HTTP Client進行測試)。但真正的工作是讓他們同時工作。將多個servlet部署到單個Tomcat服務器

我正在使用Tomcat,但不知道如何同時運行所有三個servlet。它們都在web.xml文件中正確映射。我如何從Eclipse部署這些?

回答

10

那麼,只需將它們中的3個映射到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

匹配模式<url-pattern>/path1/*</url-pattern>(所以你不需要將它們映射到/ path1,/ path1/*)。

如果您使用的是Eclipse WTP,你可以作爲一個服務器註冊的Tomcat和Eclipse的上部署動態Web項目(該項目右鍵單擊並選擇運行方式>在服務器上運行)。

在Eclipse之外,您必須將您的應用程序打包爲.war(webapp的標準格式),並將這場戰爭部署到Tomcat上。有幾種方法可以做到這一點,但最直接的方法是將戰爭複製到$TOMCAT_HOME/webapps

+0

這真棒,非常及時!我還沒有離開網站! 無論如何..謝謝..我能夠從Eclipse中運行它們,但將它們部署爲Tomcat的Web歸檔文件。 再次感謝! – arunjitsingh 2010-06-27 14:16:27

1

,如果你想沒有任何請求被髮送到服務器添加到要啓動的小服務程序
<負載上啓動>Ñ<負載上的啓動/ >

其中N = 1 ,2,3 ....<servlet>映射