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...