Java Server Pages,在靜態 HTML 中嵌入 Java 代碼與標簽,由容器編譯為 Servlet 執行,生成動態頁面。
Java 適合大型企業級應用(多層架構、可維護、安全);PHP 適合中小型快速開發(低成本、易部署、SaaS 模式)。
jspInit()(一次)。_jspService(req, resp)。jspDestroy() → GC。| 分類 | 對象 | 作用域 |
|---|---|---|
| 輸入輸出 | request、response、out | request |
| 通信控制 | pageContext、session、application | page/session/application |
| Servlet 相關 | page、config | page |
| 異常處理 | exception | page(需 isErrorPage=true) |
<%@ page ... %>:頁面屬性(contentType、import、errorPage 等)。<%@ include file="..." %>:靜態包含(翻譯階段合併)。<%@ taglib prefix="c" uri="..." %>:引入標簽庫。jsp:forward:服務端轉發,參數保留,地址欄不變。jsp:include:動態包含(請求階段合併輸出)。jsp:useBean:創建/查找 Bean。jsp:setProperty / jsp:getProperty:屬性設置/獲取。jsp:plugin:執行 Applet/JavaBean。jsp:param:傳遞參數。| 庫 | 前綴 | URI | 常用標簽 |
|---|---|---|---|
| Core | c | https://java.sun.com/jsp/jstl/core | out、set、if、choose、forEach、import、url |
| I18N | fmt | https://java.sun.com/jsp/jstl/fmt | formatDate、formatNumber |
| SQL | sql | https://java.sun.com/jsp/jstl/sql | query、update |
| XML | x | https://java.sun.com/jsp/jstl/xml | forEach、if |
| Functions | fn | https://java.sun.com/jsp/jstl/functions | split、length、substring |
${expr}。. 與 [] 可混用,${user.address['street']}。param、paramValues、header、cookie、initParam、pageScope、requestScope、sessionScope、applicationScope。