傳統 Web 模式下,每次使用者操作皆觸發「請求→處理→回應→整頁重整」的漫長等待。Google Gmail、Suggest、Maps 以 AJAX (Asynchronous JavaScript and XML) 打破此框架,實現局部更新、即時回應的桌面級體驗。本文探討 AJAX 核心機制與 J2EE 伺服端整合架構。
XMLHttpRequest (IE 5+ ActiveX / 標準瀏覽器原生),實現非同步 HTTP 通訊function createXHR() {
if (window.XMLHttpRequest) return new XMLHttpRequest(); // 標準瀏覽器
if (window.ActiveXObject) {
try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) {}
try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {}
}
throw new Error("AJAX not supported");
}

專用 AjaxDispatcherServlet 接收請求 → 解析參數 → 委派 EJB 業務邏輯 → 組裝 XML/JSON 回應。優勢:
| 議題 | 解決方案 |
|---|---|
| 瀏覽器相容性 | 封裝 XHR 建立、事件綁定、DOM 操作至通用函式庫 (jQuery/Prototype/Dojo) |
| JavaScript 除錯難 | Firebug/Chrome DevTools、單元測試 (JsUnit/QUnit)、嚴格模式 |
| 安全性風險 | CSRF Token、輸入驗證、敏感資料不輸出至前端、CSP 標頭 |
| 搜尋引擎不友善 | 漸進增強 (Graceful Degradation)、Server-Side Rendering、Sitemap |
| 歷史/書籤支援 | URL Hash (#) 或 HTML5 History API 管理狀態 |
採用 XMLAssemblyFactoryServlet 作為 AJAX 橋接器,前端以 DHTML 動態渲染報表、圖表,後端 EJB 處理複雜查詢邏輯。使用者體驗:單頁操作、毫秒級回應、無頁面跳轉閃爍。
AJAX 並非新技術堆疊,而是成熟技術 (JavaScript、DOM、XMLHttpRequest、XML/JSON) 的創新組合。配合 J2EE 強大的伺服端能力,可構建高回應、高互動的新一代企業級 Web 應用。關鍵在於前後端契約設計 (資料格式、錯誤代碼、分頁協議) 與優雅降級策略。