JSP指令碼中的9個內建物件

2021-07-05 03:39:36 字數 2935 閱讀 6581

session是httpsession類的例項,session僅對一次會話有效。jsp或servlet把資料放入session範圍內,則其他jsp或servlet在本次會話過程中都可以訪問session中的資料。

在jsp中的使用方法:

<%session.setattribute(name,value); %>//將資料放入session物件中。

<%session.getattribute(name); %>//將資料從session物件中取出。

在servlet中的使用方法:

session.setattribute(name,value);//將資料放入session物件中。

session.getattribute(name);//將資料從session物件中取出。

3.request

request是httpservletrequest類的例項,request僅對本次請求有效。jsp或servlet把資料放入request範圍內,則其他jsp或servlet在本次請求中都可以訪問request中的資料。

在jsp中的使用方法:

<%request.setattribute(name,value); %>//將資料放入request物件中。

<%request.getattribute(name); %>//將資料從request物件中取出。

在servlet中的使用方法:

request.setattribute(name,value); //將資料放入request物件中。

request.getattribute(name); //將資料從request物件中取出。

request還有其他用法:

使用者可以通過request物件傳送請求到某個頁面,如get請求和post請求,乙個請求通常包括請求頭和請求引數。請求頭通常由瀏覽器自動新增,而請求引數則通常由開發人員控制新增。

string getparameter(name):獲取名為name的請求引數的值

map getparametermap():獲取所有請求引數名和引數值組成的map物件。

enumeration getparameternames():獲取所有請求引數名組成的enumeration物件。

string getparametervalues(name):當請求引數名name對應的值有多個的時候,用這個方法,返回的是多個值組成的陣列。

string getheader(name):獲取指定請求頭的值

enumeration getheadernames():獲取所有請求頭的名稱

enumeration getheaders(name):獲取name請求頭的多個值

當request中有中文的時候,需要轉換字元編碼,方法如下:

request.setcharacterencoding("gbk");

4.page

config物件是servletconfig類的例項,代表的是當前jsp的配置資訊。

通過config物件可以訪問web.xml檔案中配置的init-param引數,通過方法getinitparameter(name)獲取引數的值。

在web.xml中配置servlet:

config

/configtest2.jsp

name

crazyit.org

age30

firstservlet

lee.firstservlet

name

crazyit.org

age30

/firstservlet

6.exception

exception是throwable類的例項,代表著jsp指令碼中產生的錯誤和異常,是jsp異常機制的一部分。

只有當jsp頁面的page指令的iserrorpage為true時,該頁面才會提供exception物件。exception通過getclass()和getmessage()方法來獲得上乙個異常頁面異常的類和資訊。

7.out

out是jspwriter類的例項,通過out.print()方法可以直接將內容輸出到jsp頁面上。

8.pagecontext物件

setattribute(name,value,pagecontext.session_scope):將資料放到session範圍內。

9.response

response是httpservletresponse介面的例項,response代表伺服器對客戶端的響應。out物件可以生成字元客戶端響應,但是如果要生成非字元的客戶端響應就要用到response物件。

imageio.write(image,"png",response.getoutputstream());

重定向功能:

response可以重定向乙個請求,重定向相當於重新發起一次請求,因此會丟失所有的請求引數和request範圍的屬性。

response.sendredirect("redirect.jsp");

增加cookie

將cookie值寫入客戶端硬碟,當客戶端再一次傳送請求時,cookie值會作為請求引數一併傳送給伺服器端。

cookie c=new cookie("username",name);

c.setmaxage(24*3600)//設定cookie的生存期,括號裡的單位為秒

response.addcookie(c);//在response中新增cookie,返回給客戶端

接收cookie

cookie cookies=request.getcookies();//cookie一般隨request一併傳送給伺服器端

for(cookie c:cookies)

Jsp9個內建物件

request 客戶端的請求資訊被封裝在request物件中,通過它才能了解到客戶的需求,然後做出響應。它是httpservletrequest類的例項 response response物件包含了響應客戶請求的有關資訊,但在jsp中很少直接用到它。session outout物件是jspwrite...

jsp中9個內建物件與servlet對應關係

隱式物件說明 out轉譯後對應jspwriter物件,其內部關聯乙個pringwriter物件 request 轉譯後對應httpservletrequest servletrequest物件 response 轉譯後對應httpservletrespons servletresponse物件 co...

JSP的9個內建物件之pageContext物件

不僅如此,pagecontext還可以用於獲取其他內建物件,pagecontext物件包含如下方法。servletrequest getrequest 獲取request物件 servletresponse getresponse 獲取response物件 servletconfig getconf...