Servlet的HelloWorld實例


以下內容引用自http://wiki.jikexueyuan.com/project/servlet/first-example.html

Servlets是Java類,服務於HTTP請求並實現了javax.servlet.Servlet接口。Web應用程序開發人員通常編寫擴展javax.servlet.http.HttpServlet的Servlets,它是一個實現了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.
  }
}

二、編譯Servlet

把上述代碼放入HelloWorld.java文件中,並把這個文件放在C:\ServletDevel(Windows 操作系統中)或/usr/ServletDevel(UNIX 操作系統中)中,然后需要將這些目錄添加到CLASSPATH中。

假設環境已經正確地設置,進入ServletDevel目錄,並編譯HelloWorld.java,如下所示:

$ javac HelloWorld.java

如果Servlet依賴於任何其他庫,必須還要在CLASSPATH中包含那些JAR文件。只包含了servlet-api.jar文件,因為在Hello World程序中沒有使用任何其他庫。

該命令行使用了來自Sun Microsystems Java軟件開發工具包(JDK)的內置的javac編譯器。為使該命令正常工作,必須包含在PATH環境變量中使用的Java SDK的位置。

如果一切順利,上述編譯會在相同的目錄中產生HelloWorld.class文件。

注意:POM和Eclipse項目忽略這一步。

三、Servlet部署

默認情況下,Servlet應用程序是位於路徑/webapps/ROOT中的,且類文件放在/webapps/ROOT/WEB-INF/classes中。

如果有一個完全合格的com.myorg.MyServlet的類名稱,那么這個servlet類必須被放置在WEB-INF/classes/com/myorg/MyServlet.class中。

現在,把HelloWorld.class復制到/webapps/ROOT/WEB-INF/classes中,並在位於/webapps/ROOT/WEB-INF/的web.xml文件中創建以下條目:

注意:POM和Eclipse項目忽略上述做法,直入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-installation-directory>\bin\startup.bat(Windows 操作系統中)或 <Tomcat-installation-directory>/bin/startup.sh(Linux/Solaris 等操作系統中)啟動 tomcat 服務器,最后在瀏覽器的地址欄中輸入http://localhost:8080/HelloWorld。如果一切順利,會看到下面的結果:

注意:上面做法忽略,POM和Eclipse直接運行即可。

 

測試工程:https://github.com/easonjim/5_java_example/tree/master/servletbasics/test1


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM