?
Dokumen ini menggunakan Manual laman web PHP Cina Lepaskan
Servlet 是服務(wù) HTTP 請求并實現(xiàn) javax.servlet.Servlet 接口的 Java 類。Web 應(yīng)用程序開發(fā)人員通常編寫 Servlet 來擴展 javax.servlet.http.HttpServlet,并實現(xiàn) Servlet 接口的抽象類專門用來處理 HTTP 請求。
下面是 Servlet 輸出 Hello World 的示例源代碼:
// 導(dǎo)入必需的 java 庫 import java.io.*; import javax.servlet.*; import javax.servlet.http.*; // 擴展 HttpServlet 類 public class HelloWorld extends HttpServlet { private String message; public void init() throws ServletException { // 執(zhí)行必需的初始化 message = "Hello World"; } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 設(shè)置響應(yīng)內(nèi)容類型 response.setContentType("text/html"); // 實際的邏輯是在這里 PrintWriter out = response.getWriter(); out.println("<h1>" + message + "</h1>"); } public void destroy() { // 什么也不做 } }
讓我們把上面的代碼寫在 HelloWorld.java 文件中,把這個文件放在 C:\ServletDevel(在 Windows 上)或 /usr/ServletDevel(在 UNIX 上)中,您還需要把這些目錄添加到 CLASSPATH 中。
假設(shè)您的環(huán)境已經(jīng)正確地設(shè)置,進入 ServletDevel 目錄,并編譯 HelloWorld.java,如下所示:
$ javac HelloWorld.java
如果 Servlet 依賴于任何其他庫,您必須在 CLASSPATH 中包含那些 JAR 文件。在這里,我只包含了 servlet-api.jar JAR 文件,因為我沒有在 Hello World 程序中使用任何其他庫。
該命令行使用 Sun Microsystems Java 軟件開發(fā)工具包(JDK)內(nèi)置的 javac 編譯器。為使該命令正常工作,您必須 PATH 環(huán)境變量中使用的 Java SDK 的位置。
如果一切順利,上面編譯會在同一目錄下生成 HelloWorld.class 文件。下一節(jié)將講解已編譯的 Servlet 如何部署在生產(chǎn)中。
默認情況下,Servlet 應(yīng)用程序位于路徑 <Tomcat-installation-directory>/webapps/ROOT 下,且類文件放在 <Tomcat-installation-directory>/webapps/ROOT/WEB-INF/classes 中。
如果您有一個完全合格的類名稱 com.myorg.MyServlet,那么這個 Servlet 類必須位于 WEB-INF/classes/com/myorg/MyServlet.class 中。
現(xiàn)在,讓我們把 HelloWorld.class 復(fù)制到 <Tomcat-installation-directory>/webapps/ROOT/WEB-INF/classes 中,并在位于 <Tomcat-installation-directory>/webapps/ROOT/WEB-INF/ 的 web.xml 文件中創(chuàng)建以下條目:
<servlet> <servlet-name>HelloWorld</servlet-name> <servlet-class>HelloWorld</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloWorld</servlet-name> <url-pattern>/HelloWorld</url-pattern> </servlet-mapping>
上面的條目要被創(chuàng)建在 web.xml 文件中的 <web-app>...</web-app> 標(biāo)簽內(nèi)。在該文件中可能已經(jīng)有各種可用的條目,但不要在意。
到這里,您基本上已經(jīng)完成了,現(xiàn)在讓我們使用 <Tomcat-installation-directory>\bin\startup.bat(在 Windows 上)或 <Tomcat-installation-directory>/bin/startup.sh(在 Linux/Solaris 等上)啟動 tomcat 服務(wù)器,最后在瀏覽器的地址欄中輸入 localhost:8080/HelloWorld。如果一切順利,您會看到下面的結(jié)果: