當前位置:首頁 » Servlets » Servlet實例

Servlet實例

Servlets實例教學,代碼例子 - Servlet是Java類,它服務的HTTP請求,並實現javax.servlet.Servlet接口。

Servlet是Java類,它服務的HTTP請求,並實現javax.servlet.Servlet接口。Web應用程序開發人員編寫Servlet擴展javax.servlet.http.HttpServlet,實現Servlet接口和抽象類,它是專門設計用來處理HTTP請求。

簡單代碼-Hello World:

下麵是示例的源代碼結構的一個servlet的例子,寫一個Hello World:

// 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. -by www.gitbook.net
  }
}

編譯一個Servlet:

讓我們把上麵的代碼中,如果HelloWorld.java文件,把這個文件在C:\ServletDevel(窗口)或/usr/ServletDevel(UNIX),那麼你將需要添加這些目錄在CLASSPATH中。

假設你的環境是正確的,在ServletDevel目錄和編譯HelloWorld.java中如下設置:

$ javac HelloWorld.java

如果servlet依賴於任何其他庫,必須在CLASSPATH中包括JAR文件。我的servlet-api.jar隻包括JAR文件,因為我冇有使用任何其他庫中的Hello World程序。

此命令行使用內置的javac編譯器附帶Sun的Java軟件開發工具包(JDK)。為使此命令正常工作,必須包括所使用的Java SDK的位置在PATH環境變量。

如果一切順利,上麵編譯生成HelloWorld.class的文件在同一目錄下。下一節將解釋如何將部署在生產一個編譯Servlet。

Servlet 部署:

默認情況下,一個servlet的應用程序位於的路徑<Tomcat-installation-directory>/webapps/ROOT目錄和類文件將放在<Tomcat-installation-directory>/的webapps/ROOT/WEB-INF/ classes中。

如果你有一個完全合格的類名稱com.myorg.MyServlet,那麼這個servlet類必須位於WEB-INF/classes/com/myorg/MyServlet.class中。

現在,讓我們HelloWorld.class複製到<Tomcat-installation-directory>/webapps/ROOT/WEB-INF/classes中,並在web.xml文件中創建以下條目在<Tomcat-installation-directory>/webapps /ROOT/WEB-INF/目錄。

    <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-app>...</ web應用程序>標簽在web.xml文件中。有可能是在此表中的各個條目已經可用,但不要在意。

您幾乎已經完成了,現在讓我們使用<Tomcat-installation-directory>\ BIN\的startup.bat(在Windows上)或<Tomcat-installation-directory>/ BIN/ startup.sh(啟動tomcat服務器上的Linux / Solaris等),最後輸入http://localhost:8080/HelloWorld的在瀏覽器的地址框中。如果一切順利,你會得到下麵的結果:

Servlets實例教學,實例代碼