首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

JSP 九大內置對象速查表與使用場景指南

     編輯:Java 綜合教學

JSP 九大內置對象速查表與使用場景指南

JSP 容器自動提供九大內置對象,無需聲明即可在腳本片段、表達式、EL 表達式中直接使用。掌握它們的類型、作用域與典型用法,是 JSP 開發的基礎功夫。

九大內置對象總覽

對象名類型作用域核心用途
requestHttpServletRequest請求獲取請求參數、Header、屬性;請求轉發
responseHttpServletResponse頁面設置狀態碼、Header、Cookie、重定向、輸出流
sessionHttpSession會話用戶狀態維持、屬性存取、登入狀態管理
applicationServletContext應用全局配置、資源路徑、應用級共享數據、初始化參數
outJspWriter頁面向客戶端輸出內容、緩衝區控制、clear()/flush()
pageContextPageContext頁面訪問其他內置對象、屬性跨作用域操作、引入資源
configServletConfig頁面獲取 Servlet 初始化參數、Servlet 名稱
pageObject (this)頁面當前 JSP 頁面實例 (轉換後的 Servlet),極少直接使用
exceptionThrowable頁面錯誤頁面 (isErrorPage=true) 中獲取異常信息

作用域層級關係圖

application (最廣) → session → request → page (最窄)

屬性設置遵循:setAttribute(name, value),獲取:getAttribute(name)。較大作用域可訪問較小作用域屬性,反之不可。

典型使用場景速查

1. 請求處理 (request)

// 獲取參數
String username = request.getParameter("username");
// 請求轉發 (服務端跳轉,地址欄不變)
request.getRequestDispatcher("/success.jsp").forward(request, response);
// 設置請求屬性傳遞數據
request.setAttribute("user", userObj);

2. 回應控制 (response)

// 重定向 (客戶端跳轉,地址欄變化)
response.sendRedirect("/login.jsp");
// 設置 Cookie
Cookie cookie = new Cookie("token", "abc123");
response.addCookie(cookie);
// 直接輸出 JSON (AJAX 回應)
response.setContentType("application/json;charset=UTF-8");
response.getWriter().write(jsonString);

3. 會話管理 (session)

// 登入成功存入用戶信息
session.setAttribute("currentUser", user);
// 獲取登入用戶
User user = (User) session.getAttribute("currentUser");
// 註銷
session.invalidate();

4. 全局資源 (application)

// 獲取真實路徑
String realPath = application.getRealPath("/WEB-INF/config.xml");
// 全局計數器
application.setAttribute("visitCount", count);

5. 輸出控制 (out)

out.println("<h1>Hello JSP</h1>");
// 緩衝區操作
out.clear();   // 清空緩衝區 (未 flush 前有效)
out.flush();   // 強制輸出

最佳實踐提醒

  • 優先使用 EL + JSTL: 減少腳本片段 (<% %>),提升可讀性與安全性。
  • 作用域最小化原則: 能用 request 別用 session,能用 session 別用 application。
  • 避免在 JSP 處理業務邏輯: 控制器 (Servlet/Controller) 處理業務,JSP 僅負責渲染。
  • 異常處理: 專用錯誤頁面配合 exception 對象集中處理錯誤展示。

圖示參考

JSP 內置對象關係圖

掌握九大內置對象,是從「能寫動態頁」進階到「寫好可維護 Web 應用」的必經之路。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved