#1123-JSP隱含對象

?

?


JSP 隱含對象


JSP隱含對象是JSP容器為每個頁面提供的Java對象,開發者可以直接使用它們而不用顯式聲明。JSP隱含對象也被稱為預定義變量。

?

JSP所支持的九大隱含對象:

?

對象,描述

request,HttpServletRequest類的實例

response,HttpServletResponse類的實例

out,PrintWriter類的實例,用于把結果輸出至網頁上

session,HttpSession類的實例

application,ServletContext類的實例,與應用上下文有關

config,ServletConfig類的實例

pageContext,PageContext類的實例,提供對JSP頁面所有對象以及命名空間的訪問

page,類似于Java類中的this關鍵字

Exception,Exception類的對象,代表發生錯誤的JSP頁面中對應的異常對象


request對象


request對象是javax.servlet.http.HttpServletRequest 類的實例。每當客戶端請求一個JSP頁面時,JSP引擎就會制造一個新的request對象來代表這個請求。


request對象提供了一系列方法來獲取HTTP頭信息,cookies,HTTP方法等等。

?

?


response對象

response對象是javax.servlet.http.HttpServletResponse類的實例。當服務器創建request對象時會同時創建用于響應這個客戶端的response對象。

response對象也定義了處理HTTP頭模塊的接口。通過這個對象,開發者們可以添加新的cookies,時間戳,HTTP狀態碼等等。

?

?

out對象

out對象是 javax.servlet.jsp.JspWriter 類的實例,用來在response對象中寫入內容。

最初的JspWriter類對象根據頁面是否有緩存來進行不同的實例化操作。可以在page指令中使用buffered='false'屬性來輕松關閉緩存。

JspWriter類包含了大部分java.io.PrintWriter類中的方法。不過,JspWriter新增了一些專為處理緩存而設計的方法。還有就是,JspWriter類會拋出IOExceptions異常,而PrintWriter不會。


下表列出了我們將會用來輸出boolean,char,int,double,Srtring,object等類型數據的重要方法:

?

方法 描述

?

out.print(dataType dt) , 輸出Type類型的值


out.println(dataType dt) , 輸出Type類型的值然后換行

out.flush() , 刷新輸出流

?

?

?

session對象

session對象是 javax.servlet.http.HttpSession 類的實例。和Java Servlets中的session對象有一樣的行為。

session對象用來跟蹤在各個客戶端請求間的會話。

?

?


application對象


application對象直接包裝了servlet的ServletContext類的對象,是javax.servlet.ServletContext 類的實例。

這個對象在JSP頁面的整個生命周期中都代表著這個JSP頁面。這個對象在JSP頁面初始化時被創建,隨著jspDestroy()方法的調用而被移除。

通過向application中添加屬性,則所有組成您web應用的JSP文件都能訪問到這些屬性。

?

?


config對象


config對象是 javax.servlet.ServletConfig 類的實例,直接包裝了servlet的ServletConfig類的對象。

這個對象允許開發者訪問Servlet或者JSP引擎的初始化參數,比如文件路徑等。

以下是config對象的使用方法,不是很重要,所以不常用:


config.getServletName();

?

它返回包含在<servlet-name>元素中的servlet名字,注意,<servlet-name>元素在 WEB-INF\web.xml 文件中定義。

?

?

?

pageContext 對象


pageContext對象是javax.servlet.jsp.PageContext 類的實例,用來代表整個JSP頁面。

這個對象主要用來訪問頁面信息,同時過濾掉大部分實現細節。

這個對象存儲了request對象和response對象的引用。application對象,config對象,session對象,out對象可以通過訪問這個對象的屬性來導出。

pageContext對象也包含了傳給JSP頁面的指令信息,包括緩存信息,ErrorPage URL,頁面scope等。


PageContext類定義了一些字段,包括PAGE_SCOPE,REQUEST_SCOPE,SESSION_SCOPE, APPLICATION_SCOPE。它也提供了40余種方法,有一半繼承自javax.servlet.jsp.JspContext 類。


其中一個重要的方法就是removeArribute(),它可接受一個或兩個參數。比如,pageContext.removeArribute("attrName")移除四個scope中相關屬性,但是下面這種方法只移除特定scope中的相關屬性:

pageContext.removeAttribute("attrName", PAGE_SCOPE);

?

?

?

page 對象


這個對象就是頁面實例的引用。它可以被看做是整個JSP頁面的代表。

page 對象就是this對象的同義詞。

?


exception 對象

exception 對象包裝了從先前頁面中拋出的異常信息。它通常被用來產生對出錯條件的適當響應。

?

轉載于:https://www.cnblogs.com/Alanf/p/10005818.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/387912.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/387912.shtml
英文地址,請注明出處:http://en.pswp.cn/news/387912.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

按照時間,每天分區;按照數字,200000一個分區

按照時間&#xff0c;每天分區 create table test_p(id number,createtime date) partition by range(createtime) interval(numtodsinterval(1,day)) store in (users) ( partition test_p_p1 values less than(to_date(20140110,yyyymmdd)) ); create index index_test_p_id …

如果您不將Docker用于數據科學項目,那么您將生活在1985年

重點 (Top highlight)One of the hardest problems that new programmers face is understanding the concept of an ‘environment’. An environment is what you could say, the system that you code within. In principal it sounds easy, but later on in your career yo…

jmeter對oracle壓力測試

下載Oracle的jdbc數據庫驅動包&#xff0c;注意Oracle數據庫的版本&#xff0c;這里使用的是&#xff1a;Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production&#xff1b; 一般數據庫的驅動包文件在安裝路徑下&#xff1a;D:\oracle\product\10.2.…

集合里面的 E是泛型 暫且認為是object

集合里面的 E是泛型 暫且認為是object轉載于:https://www.cnblogs.com/classmethond/p/10011374.html

docker部署flask_使用Docker,GCP Cloud Run和Flask部署Scikit-Learn NLP模型

docker部署flaskA brief guide to building an app to serve a natural language processing model, containerizing it and deploying it.構建用于服務自然語言處理模型&#xff0c;將其容器化和部署的應用程序的簡要指南。 By: Edward Krueger and Douglas Franklin.作者&am…

異常處理的原則

1&#xff1a;函數內部如果拋出需要檢測的異常&#xff0c;那么函數上必須要聲明&#xff0c;否則必須在函數內用try catch捕捉&#xff0c;否則編譯失敗。2&#xff1a;如果調用到了聲明異常的函數&#xff0c;要么try catch 要么throws&#xff0c;否則編譯失敗。3&#xff…

模塊化整理

#region常量#endregion#region 事件#endregion#region 字段#endregion#region 屬性#endregion#region 方法#endregion#region Unity回調#endregion#region 事件回調#endregion#region 幫助方法#endregion來自為知筆記(Wiz)轉載于:https://www.cnblogs.com/soviby/p/10013294.ht…

在oracle中處理日期大全

在oracle中處理日期大全 TO_DATE格式 Day: dd number 12 dy abbreviated fri day spelled out friday ddspth spelled out, ordinal twelfth Month: mm number 03 mon abbreviated mar month spelled out march Year: yy two digits 98 yyyy four …

BZOJ4868 Shoi2017期末考試(三分+貪心)

容易想到枚舉最晚發布成績的課哪天發布&#xff0c;這樣與ti和C有關的貢獻固定。每門課要么貢獻一些調節次數&#xff0c;要么需要一些調節次數&#xff0c;剩下的算貢獻也非常顯然。這樣就能做到平方級別了。 然后大膽猜想這是一個凸函數三分就能A掉了。具體的&#xff0c;延遲…

SQL的執行計劃

SQL的執行計劃實際代表了目標SQL在Oracle數據庫內部的具體執行步驟&#xff0c;作為調優&#xff0c;只有知道了優化器選擇的執行計劃是否為當前情形下最優的執行計劃&#xff0c;才能夠知道下一步往什么方向。 執行計劃的定義&#xff1a;執行目標SQL的所有步驟的組合。 我們首…

問卷 假設檢驗 t檢驗_真實問題的假設檢驗

問卷 假設檢驗 t檢驗A statistical Hypothesis is a belief made about a population parameter. This belief may or might not be right. In other words, hypothesis testing is a proper technique utilized by scientist to support or reject statistical hypotheses. Th…

webpack打包ES6降級ES5

Babel是一個廣泛使用的轉碼器&#xff0c;babel可以將ES6代碼完美地轉換為ES5代碼&#xff0c;所以我們不用等到瀏覽器的支持就可以在項目中使用ES6的特性。 安裝babel實現ES6到ES5 npm install -D babel-core babel-preset-es2015 復制代碼安裝babel-loader npm install -D ba…

[轉帖]USB-C和Thunderbolt 3連接線你搞懂了嗎?---沒搞明白.

USB-C和Thunderbolt 3連接線你搞懂了嗎&#xff1f; 2018年11月25日 07:30 6318 次閱讀 稿源&#xff1a;威鋒網 3 條評論按照計算行業的風潮&#xff0c;USB Type-C 將會是下一代主流的接口。不過&#xff0c;在過去兩年時間里&#xff0c;關于 USB-C、Thunderbolt 3、USB 3.1…

sqldeveloper的查看執行計劃快捷鍵F10

簡介&#xff1a;本文全面詳細介紹oracle執行計劃的相關的概念&#xff0c;訪問數據的存取方法&#xff0c;表之間的連接等內容。并有總結和概述&#xff0c;便于理解與記憶!目錄---一&#xff0e;相關的概念Rowid的概念Recursive Sql概念Predicate(謂詞)DRiving Table(驅動表)…

大數據技術 學習之旅_為什么聚焦是您數據科學之旅的關鍵

大數據技術 學習之旅David Robinson, a data scientist, has said the following quotes:數據科學家David Robinson曾說過以下話&#xff1a; “When you’ve written the same code 3 times, write a function.”“當您編寫了3次相同的代碼時&#xff0c;請編寫一個函數。” …

SQL 語句

去重字段里的值 SELECT DISTINCT cat_id,goods_sn,repay FROM ecs_goods where cat_id ! 20014 刪除除去 去重字段 DELETE FROM ecs_goods where goods_id NOT IN ( select bid from (select min(goods_id) as bid from ecs_goods group by cat_id,goods_sn,repay) as b );轉…

無監督學習 k-means_無監督學習-第4部分

無監督學習 k-means有關深層學習的FAU講義 (FAU LECTURE NOTES ON DEEP LEARNING) These are the lecture notes for FAU’s YouTube Lecture “Deep Learning”. This is a full transcript of the lecture video & matching slides. We hope, you enjoy this as much as …

vCenter 升級錯誤 VCSServiceManager 1603

近日&#xff0c;看到了VMware發布的vCenter 6.7 Update 1b的更新消息。其中有一條比較震撼。有誤刪所有VM的概率&#xff0c;這種BUG誰也承受不起。Removing a virtual machine folder from the inventory by using the vSphere Client might delete all virtual machinesIn t…

day28 socketserver

1. socketserver 多線程用的 例 import socket import timeclientsocket.socket() client.connect(("127.0.0.1",9000))while 1:cmdinput("請輸入指令")client.send(cmd.encode("utf-8"))from_server_msgclient.recv(1024).decode("utf…

車牌識別思路

本文源自我之前花了2天時間做的一個簡單的車牌識別系統。那個項目&#xff0c;時間太緊&#xff0c;樣本也有限&#xff0c;達不到對方要求的95%識別率&#xff08;主要對于車牌來說&#xff0c;D,0&#xff0c;O&#xff0c;I&#xff0c;1等等太相似了。然后&#xff0c;漢字…