Servlet 教學-寫一個網頁 HelloWorld
本 java 教學實作環境均採用 xampp 架站包和 notepad++ 編輯器,若非此環境看不懂者,可能就抱歉啦。
假設以架設好 xampp 並下載安裝完成 jdk,且已經完成 windows 環境設定,當開啟 cmd 下指令 java、javac 均沒問題後,就可以正式開始寫 java。
由於個人已經習慣 lamp 開發模式,故不太習慣依賴 IDE 編輯器,喜歡逐行程式自己看,故仍然選用 notepad++ or sublime 等文字編輯器來 codding。
首先來一隻 HelloWorld.java
詳情可以參考先前的 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碼!!變更儲存就可以了。
假設以架設好 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碼!!變更儲存就可以了。
留言
張貼留言