aru*_*ngh 5 java tomcat servlets
我正在使用Eclipse,可以让我的每个servlet 通过Eclipse 独立工作(使用HTTP Client进行测试).但真正的工作是让他们同时工作.
我正在使用Tomcat,但不知道如何同时运行所有三个servlet.它们都在web.xml文件中正确映射.如何从Eclipse部署这些?
Pas*_*ent 11
好吧,只需在其中映射所有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>
Run Code Online (Sandbox Code Playgroud)
请注意以下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项目(右键单击项目并选择Run As> Run on Server).
在Eclipse之外,您必须将应用程序打包为.war
(webapp的标准格式)并在Tomcat上部署此战争.有几种方法可以做到这一点,但最直接的方法是将战争复制到$TOMCAT_HOME/webapps
.