JavaServer Web Development Kit (JSWDK) 是 Sun 早期提供的 Servlet/JSP 參考實現,約 1999-2001 年流行於教學與原型開發。已停止維護超 20 年,**僅供歷史研究、舊系統考古參考,嚴禁用於任何生產環境**。本文整理原始安裝配置步驟、環境變量設定、常見錯誤 (環境空間不足、註冊表鍵值本地化) 及工作目錄觀察技巧。
jdk1_2_2-win.exe 或 jdk1_3_1-win.exeC:\jdk1.3autoexec.bat;Windows NT/2000 → 系統屬性 → 環境變量):# Windows 98 autoexec.bat
SET JAVA_HOME=C:\jdk1.3
SET PATH=%PATH%;%JAVA_HOME%\bin
SET CLASSPATH=.;%JAVA_HOME%\lib\tools.jar
# Windows NT/2000 系統變量
JAVA_HOME=C:\jdk1.3
PATH 追加 %JAVA_HOME%\bin
CLASSPATH=.;%JAVA_HOME%\lib\tools.jar
關鍵: JSWDK 依賴 tools.jar 中的 Java 編譯器 API 實現 JSP 編譯,CLASSPATH 必須包含 tools.jar。
jswdk1_0_1-win.zipC:\jswdk-1.0.1\ (無安裝程式、無註冊表、刪除目錄即卸載)C:\jswdk-1.0.1\
├── bin\ # startserver.bat, stopserver.bat
├── conf\ # webserver.xml (核心配置)
├── examples\ # 示例 Web 應用
├── lib\ # servlet.jar, jsp.jar 等
├── logs\ # 運行日誌
└── work\ # JSP 編譯產生的 .java/.class 文件 (極具教學價值)
<WebServer id="webServer">
<Service id="service0" port="8080">
<WebApplication id="examples" mapping="/examples" docBase="examples"/>
<!-- 自定義應用 -->
<WebApplication id="myweb" mapping="/myweb" docBase="myweb"/>
</Service>
</WebServer>
port:HTTP 端口,預設 8080,衝突時修改此處mapping:URL 路徑前綴docBase:相對於 JSWDK 根目錄的物理路徑C:\jswdk-1.0.1\binstartserver.bat,控制台輸出啟動資訊https://localhost:8080/ 或 https://localhost:8080/examples/stopserver.bat 或直接關閉 DOS 視窗 (不推薦)現象: 執行 startserver.bat 彈出錯誤對話框。
原因: DOS 環境變量空間預設 256 字節不足,startserver.bat 內大量 SET 命令耗盡空間。
解決:
startserver.bat → 內容 → 內存標籤現象: 啟動閃退,重定向輸出也捕捉不到錯誤。
原因: 中文版 JDK 安裝程式將註冊表鍵 Java Runtime Environment 本地化為 Java運行時環境,JSWDK 啟動腳本硬編碼查找英文鍵值。
解決:
regeditHKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java運行時環境 重命名為 Java Runtime Environmentstartserver.bat瀏覽器請求 https://localhost:8080/examples/xxx.jsp 後,進入 C:\jswdk-1.0.1\work\ 目錄可見:
xxx_jsp.java — JSP 頁面翻譯生成的 Servlet 源碼xxx_jsp.class — 編譯後的字節碼| 維度 | JSWDK 1.0.1 | 現代替代 |
|---|---|---|
| Servlet/JSP 規範 | Servlet 2.1 / JSP 1.1 | Servlet 6.0 / JSP 3.1 (Jakarta EE 10) |
| 用途 | 教學、原型、參考實現 | Tomcat 10 / Jetty 11 / Undertow 2 |
| 安全性 | 無任何補丁、已知漏洞 | 持續安全更新 |
| 獲取途徑 | 網絡考古、舊光盤 | 官網、Maven Central、Docker Hub |
JSWDK 承載了 Java Web 早期啟蒙的歷史記憶,其「解壓即用、work 目錄可視化編譯」設計至今仍具教學啟發。但面對現代業務,**請毫不猶豫選擇 Tomcat/Jetty + OpenJDK LTS**,將 JSWDK 留在博物館與課堂演示中。