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

JavaBean 在 JSP 與 Servlet 間傳遞的關鍵技術要點

     編輯:關於JSP

一、JavaBean 初始化差異

1. JSP 中使用 <jsp:useBean>

執行邏輯:

  1. 依 scope 尋找同 id 的 Bean,找到則直接使用,跳過初始化。
  2. 未找到則在指定 scope 建立實例,並執行標籤主體內的初始化敘述。

注意:若確定要設定當前 scope 的 Bean 狀態,避免將設定敘述寫在 useBean 主體內,應移至標籤外部。

2. Servlet 中手動實例化

package.classname beanname = new package.classname();
// 依需求放入不同 scope
request.setAttribute("beanname", beanname);        // request
session.setAttribute("beanname", beanname);        // session
getServletContext().setAttribute("beanname", beanname); // application

二、四大 Scope 的存取對照表

ScopeJSP 存取方式Servlet 存取方式
pagepageContext 或直接引用(無對應,僅頁面內有效)
requestrequestrequest.get/setAttribute()
sessionsessionrequest.getSession().get/setAttribute()
applicationapplicationgetServletContext().get/setAttribute()

三、實際應用場景

Scope適用場景
page單一頁面內的暫時變數實例(預設值)。
request一次請求生命週期內有效(含 forward)。
session單一用戶會話期間有效,跨請求共享。
application整個 Web 應用生命週期有效,類似 static,全域共享。

掌握以上要點,可在 JSP 與 Servlet 間靈活、正確地傳遞與共享 JavaBean 實例。

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