2010-03-20 49 views

回答

1

通過構建一個webapp並將其放入webapp根目錄,就像在另一個版本的tomcat或任何其他servlet容器中一樣。

7

首先,你需要聲明你的servlet在Web部署描述符(一個web.xml文件),它看起來像這樣:

<?xml version="1.0" encoding="UTF-8"?> 
<web-app 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" 
    version="2.5"> 
    <display-name>Archetype Created Web Application</display-name> 
    <servlet> 
    <servlet-name>HelloWorldExample</servlet-name> 
    <servlet-class>cnx.mywebapp.HelloWorldExample</servlet-class> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>HelloWorldExample</servlet-name> 
    <url-pattern>/hello</url-pattern> 
    </servlet-mapping> 
</web-app> 

基本上,這個想法是宣佈你在servlet的完全限定名servlet元素並將其映射到servlet-mapping(映射是通過獨特的servlet名行)

然後,你需要在Web應用程序打包整個(servlet的.class文件和部署描述符)的URL模式歸檔(帶有.war extensi上),其具有限定的結構:

 
mywebapp 
|-- WEB-INF 
| |-- classes (java classes, including your servlet, go here) 
| |-- lib  (jar dependencies go here) 
| `-- web.xml (this is the deployment descriptor) 
`-- index.jsp 

最後,部署(複製)在webapps目錄的Tomcat的.war。要訪問servlet:

http://localhost:8080/mywebapp/hello 
      A  B  C  D 

其中:

  • A是Tomcat正在運行(這裏的本地機器)
  • B是Tomcat監聽的端口的主機名(8080是默認)
  • C是訪問web應用(默認戰爭)的名稱的上下文路徑
  • d是在web.xml聲明調用的servlet圖案