環境準備
| 元件 | 版本 (教學時期) | 現代建議 |
| JDK | 1.4 | 17 / 21 LTS |
| Tomcat | 4.0 | 9.0 / 10.1 |
| Eclipse | 2.0 | 2023-12 / 2024-06 |
| Sysdeo Tomcat Plugin | V2 | 內建 WTP (Web Tools Platform) |
現代整合步驟 (Eclipse 2023+ / Tomcat 9/10)
- 安裝 JDK,設定
JAVA_HOME、PATH。
- 安裝 Tomcat,解壓至無中文空格路徑。
- 啟動 Eclipse** →
Window → Preferences → Server → Runtime Environments → Add → Apache Tomcat v9.0/10.1,指定 Tomcat 安裝目錄,JRE 選擇已安裝 JDK。
- 建立 Dynamic Web Project** →
File → New → Dynamic Web Project,Target Runtime 選上述 Tomcat,Configuration 選 Default Configuration for Apache Tomcat。
- 建立 Servlet** → 右鍵
src → New → Servlet,Class name: HelloWorld,Package: com.example,Next → 勾選 doGet、doPost → Finish。
- 撰寫程式碼:
@WebServlet("/hello")
public class HelloWorld extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
resp.setContentType("text/html;charset=UTF-8");
resp.getWriter().println("Hello World! " + new Date() + "
");
}
}
- 部署運行** → 右鍵專案 →
Run As → Run on Server,選擇已定義的 Tomcat → Finish。
- 驗證** → 瀏覽器開啟
https://localhost:8080/專案名/hello。
常見問題排查
| 現象 | 原因與解決 |
| 404 Not Found | URL 路徑錯誤:確認 @WebServlet value、專案 Context Path、web.xml servlet-mapping |
| ClassNotFoundException | 專案未部署:Server 檢視 → 模組 → 右鍵 Full Publish |
| 端口衝突 | 修改 server.xml <Connector port="8080"> |
| 中文亂碼 | JSP pageEncoding="UTF-8"、Servlet resp.setCharacterEncoding("UTF-8")、Tomcat URIEncoding="UTF-8" |
熱部署與除錯
- 熱部署:Eclipse 預設自動發布;修改 Java 類別需重啟 (Tomcat 9+ 支援類別重載,需
Reloadable=true Context 設定)。
- 除錯:
Run As → Debug on Server,在 Servlet 斷點即可單步追蹤。
舊版 Sysdeo Plugin 步驟 (僅供歷史參考)
- 下載
tomcatPluginV2.zip 解壓至 eclipse/plugins/。
Window → Preferences → Tomcat 設定版本、Home、server.xml。
- 工具列出現貓咪圖示,點擊 Start/Stop 控制 Tomcat。
- 建立
Tomcat Project,勾選 can update server.xml。
結語
現代 Eclipse (WTP) 已內建完整 Tomcat 整合,無需外掛。掌握 Dynamic Web Project + @WebServlet + Run on Server 標準流程,即可高效開發、除錯、部署 Servlet 應用。