Jsp九大內建物件和4大作用域

2022-09-13 01:06:10 字數 4604 閱讀 6569

1. page  :代表該頁面本身,也就是 servlet 中的 this ,能用 page 的地方就可以用 this .即object page=this

2. request   : 客戶端的請求引數都被封裝在該物件裡。這是乙個常用物件,獲取客戶端請求引數必須使用該物件。

常用方法:

getparameter(string paramname)、getparametervalues(string paramname)、setattribute(string arrtname,object      attrvalue)

getattribute(stringattrname) 和 setcharacterencoding(string env)等。

3. response:和request相對應,用於伺服器響應客戶端請求,向客戶端輸出資訊。j**ax.servlet.httpservletresponse介面

4.session  : 該物件代表一次會話。當客戶端與站點建立連線時,會話開始;當客戶端關閉瀏覽器時,會話結束。常用方法: getattribute(string 

attrname)、      

setattribute(string attrname, object attrvalue) 等。

setattribute( 

name , value)、getinitparameter( name )  等。

6.pagecontext: 

代表 jsp 頁面上下文,它相當於頁面中所有物件功能的集合,可以訪問頁面中的共享資料。 常用方法有:getservletcontext() 和

getservletconfig() 等

7.out  :  jsp 頁面輸出流,用於輸出內容,形成 html 頁面。同時也能管理應用伺服器上的輸出快取區,底層:j**ax.servlet.jsp.jspwriter抽象類

8.config: jsp頁面通過jsp容器初始化時被傳遞的物件,j**ax.servlet.servletconfig.在servlet初始化時,jsp引擎通過config向它傳遞資訊,資訊可以是屬性名

和屬性值匹配的引數,也可以是servletctext傳遞的伺服器有關資訊

9.exception:代表頁面中的異常和錯誤。只有頁面是錯誤處理頁面,page 的iserrorpage 屬性為 true 時該物件才可以使用。常用方法 getmessage()  、

printstracktrace()等,它是j**a.lang.throwable的乙個物件

(下面會給常用的物件一些例子)

page範圍:只在乙個頁面中儲存資料。j**ax.servlet.jsp.pagecontext(抽象類)

request範圍:只在乙個請求中儲存資料。j**ax.servlet.http.httpservletrequest(介面)

session範圍:在乙個會話範圍內儲存資料,僅供單個使用者使用:j**ax.servlet.http.httpsession(介面)

內建物件的使用例子:

1.page

<%

//設定頁面範圍資料key

->

value

pagecontext.setattribute(

"name",

"祁高翔");

pagecontext.setattribute(

"age",

21);

%>

<%

//取值

string

name=(

string

)pagecontext.getattribute(

"name");

intage=

(integer

)pagecontext.getattribute(

"age");

%>

<

font

color

="blue"

size

=50px

>姓名:<%

=name

%>

font

><

br/>

<

font

color

="red"

size

=50px

>年齡:<%

=age

%>

font

><

br/>

2.request

<%

//設定request範圍的資料key->value

request.setattribute("name", "request祁高翔");

request.setattribute("age",21);

%>

請求另外乙個頁面

<%

string name=(string)request.getattribute("name");

int age=(integer)request.getattribute("age");

%>

已經跳轉到target頁面

姓名: <%=name %>

年齡: <%=age %>

4.response

4.1自動重新整理應用

<%

//每隔一秒重新整理一次

response.setheader("refresh","1");

//獲取當前時間

date date=new date();

%>

系統的當前時間是: <%=date.tolocalestring()%>

4.2頁面重定向(不帶引數)屬於客戶端跳轉

response.sendredirect("index.html");

5.out

<%

out.println("goxcheer");

int total=out.getbuffersize();//獲取總的快取區大小

int **ailable=out.getremaining();//未使用的快取區大小

int use=total-**ailable;//獲取使用的快取區大小

out.println("總的快取區大小"+total);

out.println("未使用的快取區大小"+**ailable);

out.println("獲取使用的快取區大小"+use);

%>

6.exception

注意要包含指令<%@page errorpage="error.jsp" %>

<%@page iserrorpage="true" %>

<%@ page language="j**a" contenttype="text/html; charset=utf-8"

pageencoding="utf-8"%>

<%@page errorpage="error.jsp" %>

<%

int a=1;

int b=0;

out.write(a/b);

%>

<%@ page language="j**a" contenttype="text/html; charset=utf-8"

pageencoding="utf-8"%>

<%@page iserrorpage="true" %>

<%

if(exception!=null)

%>

7.pagecontext

<

body

>

<%

pagecontext.setattribute(

"name0",

"pagescore");

request.setattribute(

"name1",

"requestscore");

session.setattribute(

"name2",

"sessionscore");

"name3",

""); out.println(

"用pagecontext訪問頁面中的"+

pagecontext.getattribute(

"name0")

+"");

out.println(

"用pagecontext訪問頁面中的"+

pagecontext.getrequest().getattribute(

"name1")

+"");

out.println(

"用pagecontext訪問頁面中的"+

pagecontext.getsession().getattribute(

"name2")

+"");

out.println(

"用pagecontext訪問頁面中的"+

pagecontext.getservletcontext().getattribute(

"name3")

+"");

%>

body

>

JSP 九大內建物件 四大作用域

伺服器,只要伺服器沒有重啟 沒有被程式強制清除 資料就有效。session 瀏覽器程序,只要當前頁面沒有被關閉 沒有被程式強制清除 不管怎麼跳轉都是有效的。request 乙個請求鏈!簡單理解就是一次請求範圍。pagecontext 無需在jsp中宣告即可使用的9個物件 輸出輸入物件 request...

JSP九大內建物件和四大作用域

名稱 型別含義 獲取方式 封裝所有請求資訊 方法引數 封裝所有響應資訊 方法引數 封裝所有會話資訊 req.getsession servletcontext 所有資訊 getservletcontext request.getservletcontext outprintwriter 輸出物件 r...

JSP九大內建物件和四大作用域

常用內建物件 1.輸出輸入物件 request物件 response物件 out物件 3.servlet物件 page物件 config物件 4.錯誤處理物件 exception物件 一 out 輸出物件 作用 用於輸出jsp頁面的資訊 作用域 page 使用方式 資訊內容 out.print 資訊...