Servlet 教學-寫一個網頁 HelloWorld

本 java 教學實作環境均採用 xampp 架站包和 notepad++ 編輯器,若非此環境看不懂者,可能就抱歉啦。

假設以架設好 xampp 並下載安裝完成 jdk,且已經完成 windows 環境設定,當開啟 cmd 下指令 java、javac 均沒問題後,就可以正式開始寫 java。

由於個人已經習慣 lamp 開發模式,故不太習慣依賴 IDE 編輯器,喜歡逐行程式自己看,故仍然選用 notepad++ or sublime 等文字編輯器來 codding。

首先來一隻 HelloWorld.java
// 導入必需的 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
  {
      // 執行必需的初始化
      message = "Hello World";
  }

  public void doGet(HttpServletRequest request,
                    HttpServletResponse response)
            throws ServletException, IOException
  {
      // 設置響應內容類型
      response.setContentType("text/html");

      // 實際的邏輯是在這裡
      PrintWriter out = response.getWriter();
      out.println("<h1>" + message + "</h1>");
  }
  
  public void destroy()
  {
      // 什麼也不做
  }
}
 
存檔放入 C:\xampp\tomcat\webapps\ROOT\WEB-INF\classes\HelloWorld.java
開啟 cmd 下指令切換到該目錄資料夾下 javac HelloWorld.java 編譯,
完成後會產生 HelloWorld.class 檔
切換目錄到 C:\xampp\tomcat\webapps\ROOT\WEB-INF
編輯 web.xml
增加下列 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-app>...</web-app>內
 
完成後開啟瀏覽器輸入http://localhost:8080/HelloWorld 
另外其實該環境也可以換成 linux 並安裝 xampp 一樣也可以快速開發 java、jsp、servlet
詳情可以參考先前的 Centos 6 安裝 tomcat 教學分享。假設 linux 文字介面、windows cmd 操作的夠熟悉開發的速度應該比起 eclipse 來的更快,但或許 eclipse IDE 工具的便利性是很多人很愛的,可惜個人還是喜歡玩鍵盤 (比較有工程師的 Feel  卡普洛啦)

若在cmd下指令 javac HelloWorld.java 發生編譯錯誤時把servlet-api.jar複製放在\java\jdk1.x.x_xx\jre\lib\ext就ok了
若發生error: unmappable character for encoding MS950 表示沒存成ANSI碼!!變更儲存就可以了。

留言

這個網誌中的熱門文章

c語言-關於#define用法

CMD常用網管指令

使用windows CMD 時間自動校正