Servlet - 示例



Servlet 是處理 HTTP 請求並實現 javax.servlet.Servlet 介面的 Java 類。Web 應用程式開發者通常編寫擴充套件 javax.servlet.http.HttpServlet 的 Servlet,這是一個實現了 Servlet 介面並專門用於處理 HTTP 請求的抽象類。

示例程式碼

下面是一個顯示“Hello World”的 Servlet 示例的示例原始碼結構:

// Import required java libraries
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

// Extend HttpServlet class
public class HelloWorld extends HttpServlet {
 
   private String message;

   public void init() throws ServletException {
      // Do required initialization
      message = "Hello World";
   }

   public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
      
      // Set response content type
      response.setContentType("text/html");

      // Actual logic goes here.
      PrintWriter out = response.getWriter();
      out.println("<h1>" + message + "</h1>");
   }

   public void destroy() {
      // do nothing.
   }
}

編譯 Servlet

讓我們建立一個名為 HelloWorld.java 的檔案,其中包含上面顯示的程式碼。將此檔案放在 C:\ServletDevel(在 Windows 中)或 /usr/ServletDevel(在 Unix 中)。在繼續之前,必須將此路徑位置新增到 CLASSPATH。

假設您的環境已正確設定,請進入 ServletDevel 目錄並按如下方式編譯 HelloWorld.java:

$ javac HelloWorld.java

如果 servlet 依賴於任何其他庫,則還必須在 CLASSPATH 中包含這些 JAR 檔案。我只包含 servlet-api.jar JAR 檔案,因為我在 Hello World 程式中沒有使用任何其他庫。

此命令列使用隨 Sun Microsystems Java 軟體開發工具包 (JDK) 附帶的內建 javac 編譯器。為了使此命令正常工作,您必須在 PATH 環境變數中包含您正在使用的 Java SDK 的位置。

如果一切順利,上面的編譯將在同一目錄中生成 HelloWorld.class 檔案。下一節將解釋如何在生產環境中部署已編譯的 servlet。

Servlet 部署

預設情況下,servlet 應用程式位於路徑 <Tomcat安裝目錄>/webapps/ROOT,類檔案位於 <Tomcat安裝目錄>/webapps/ROOT/WEB-INF/classes。

如果您有完整的類名 com.myorg.MyServlet,則此 servlet 類必須位於 WEB-INF/classes/com/myorg/MyServlet.class。

現在,讓我們將 HelloWorld.class 複製到 <Tomcat安裝目錄>/webapps/ROOT/WEB-INF/classes,並在位於 <Tomcat安裝目錄>/webapps/ROOT/WEB-INF/ 的 web.xml 檔案中建立以下條目:

<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>

以上條目需要在 web.xml 檔案中已有的 <web-app>...</web-app> 標籤內建立。此表中可能已經存在各種條目,但這沒關係。

您快完成了,現在讓我們使用 <Tomcat安裝目錄>\bin\startup.bat(在 Windows 上)或 <Tomcat安裝目錄>/bin/startup.sh(在 Linux/Solaris 等上)啟動 tomcat 伺服器,最後在瀏覽器的位址列中輸入 https://:8080/HelloWorld。如果一切順利,您將得到以下結果:

Servlet Example
廣告
© . All rights reserved.