一.九大內(nèi)置對(duì)象
1.request?
request.setAttribute(String key, Object obj):通過鍵? ? ? ? ?值來保存數(shù)據(jù);
request.getAttribute(String name) 保存數(shù)據(jù);
request.getParameter(String name)根據(jù)標(biāo)簽的? ? ? ? ? ? ?name屬性取得標(biāo)簽value的值
request.setCharacterEncoding("字符集")設(shè)置字? ? ? ? ? ? ?符集
request.getRequestDispatcher("index.jsp").forw? ? ? ard(request, response)請(qǐng)求轉(zhuǎn)發(fā),跳轉(zhuǎn)到 別? ? ? ? 的jsp
2.response
?response.sendRedirect("index,jsp")響應(yīng)頁面從? ? ? ? ? ? ?定向,不能傳值
response的頁面重定向后無法取到數(shù)據(jù),所以它只是起一個(gè)頁面跳轉(zhuǎn)的功能
response.sendRedirect("main.jsp") 和request.getRequestDispatcher("index.jsp").forward(request, response)是有區(qū)別的,response的頁面重定向不能傳值,而request的
請(qǐng)求轉(zhuǎn)發(fā)是可以的。另外一個(gè)區(qū)別是在URL地址上的區(qū)別,response的頁面重定向后,URL顯示的是跳轉(zhuǎn)后的頁面
3.out
? out 對(duì)象用于在Web瀏覽器內(nèi)輸出信息,并且管理應(yīng)用服務(wù)器上的輸出緩沖區(qū)。在使用 out 對(duì)象輸出數(shù)據(jù)時(shí),可以對(duì)數(shù)據(jù)緩沖區(qū)進(jìn)行操作,及時(shí)清除緩沖區(qū)中的殘余數(shù)據(jù),為其他的輸出讓出緩沖空間。待數(shù)據(jù)輸出完畢后,要及時(shí)關(guān)閉輸出流。其最常用的方法為print,可在頁面中顯示字符串信息。out的作用域?yàn)閜age:
4.session
?session 對(duì)象是由服務(wù)器自動(dòng)創(chuàng)建的與用戶請(qǐng)求相關(guān)的對(duì)象。服務(wù)器為每個(gè)用戶都生成一個(gè)session對(duì)象,用于保存該用戶的信息,跟蹤用戶的操作狀態(tài)。session對(duì)象內(nèi)部使用Map類來保存數(shù)據(jù),因此保存數(shù)據(jù)的格式為 “Key/value”。 session對(duì)象的value可以使用對(duì)象類型。session的常用方法有setAttribute(String key,Object value)以key/value的形式將對(duì)象保存到session中,getAttribute(String key)通過key值獲取session中保存的value,invalidate()強(qiáng)制session對(duì)象失效,getId()獲取sessionid,setMaxInactiveInterval(int interval)設(shè)置session的非活動(dòng)時(shí)間,getMaxInactiveInterval()獲取session的有效非活動(dòng)時(shí)間,removeAttribute(String?key)刪除session中對(duì)應(yīng)key的value值
5.application
? application 對(duì)象可將信息保存在服務(wù)器中,直到服務(wù)器關(guān)閉,否則application對(duì)象中保存的信息會(huì)在整個(gè)應(yīng)用中都有效。與session對(duì)象相比,application對(duì)象生命周期更長,類似于系統(tǒng)的“全局變量”。application常用方法有setAttribute(String key,Object value)以key/value的形式將對(duì)象存儲(chǔ)到application中,getAttribute(String key)通過key獲取application中存儲(chǔ)的對(duì)象,getRealPath(String path)返回相對(duì)路徑的真實(shí)路徑
6.pageContext
?? pageContext 對(duì)象的作用是取得任何范圍的參數(shù),通過它可以獲取 JSP頁面的out、request、reponse、session、application 等對(duì)象。pageContext對(duì)象的創(chuàng)建和初始化都是由容器來完成的,在JSP頁面中可以直接使用 pageContext對(duì)象。pageContext的常用方法有g(shù)etRequest()獲取request對(duì)象,getResponse()獲取response對(duì)象,getSession()獲得session對(duì)象,getOut()獲取out對(duì)象,setAttribute(String key,Object?value)保存屬性,getAttribute(String key)獲取屬性,include("url")請(qǐng)求指定的資源,并且將目標(biāo)資源的響應(yīng)結(jié)果包含在調(diào)用頁面的響應(yīng)中
7.page
?page 對(duì)象代表JSP本身,只有在JSP頁面內(nèi)才是合法的。 page隱含對(duì)象本質(zhì)上包含當(dāng)前 Servlet接口引用的變量,類似于Java編程中的 this 指針。
8.config
config 對(duì)象的主要作用是取得服務(wù)器的配置信息。通過 pageConext對(duì)象的 getServletConfig() 方法可以獲取一個(gè)config對(duì)象。當(dāng)一個(gè)Servlet 初始化時(shí),容器把某些信息通過 config對(duì)象傳遞給這個(gè) Servlet。 開發(fā)者可以在web.xml 文件中為應(yīng)用程序環(huán)境中的Servlet程序和JSP頁面提供初始化參數(shù)。
9.exception
exception 對(duì)象的作用是顯示異常信息,只有在包含 isErrorPage="true" 的頁面中才可以被使用,在一般的JSP頁面中使用該對(duì)象將無法編譯JSP文件。excepation對(duì)象和Java的所有對(duì)象一樣,都具有系統(tǒng)提供的繼承結(jié)構(gòu)。exception 對(duì)象幾乎定義了所有異常情況。在Java程序中,可以使用try/catch關(guān)鍵字來處理異常情況; 如果在JSP頁面中出現(xiàn)沒有捕獲到的異常,就會(huì)生成 exception 對(duì)象,并把 exception 對(duì)象傳送到在page指令中設(shè)定的錯(cuò)誤頁面中,然后在錯(cuò)誤頁面中處理相應(yīng)的 exception 對(duì)象
二.四大作用域
??
1.request
他在當(dāng)前請(qǐng)求中有效,request可以通過setAttribute()方法實(shí)現(xiàn)頁面中的信息傳遞,也可以通過forward()方法進(jìn)行頁面間的跳轉(zhuǎn),需要注意的是request是轉(zhuǎn)發(fā)不是重定向,轉(zhuǎn)發(fā)相對(duì)于瀏覽器來說是透明的,也就是無論頁面如何跳轉(zhuǎn),地址欄上顯示的依舊是最初的地址。
? 2.session
他在當(dāng)前回話中有效。當(dāng)一個(gè)臺(tái)電腦上的同一瀏覽器對(duì)服務(wù)器進(jìn)行多次訪問時(shí),在這多次訪問之間傳遞的信息就是session作用域的范圍。它從瀏覽器發(fā)出第一個(gè)HTTP請(qǐng)求即可認(rèn)為會(huì)話開始,但是會(huì)話結(jié)束的時(shí)間是不確定的,因?yàn)樵跒g覽器關(guān)閉時(shí)并不會(huì)通知服務(wù)器,一般Tomcat設(shè)置的默認(rèn)時(shí)間為120分鐘,也可以通過setMaxInactiveInterval(int)方法進(jìn)行設(shè)置,或是通過invalidate()方法強(qiáng)制結(jié)束當(dāng)前會(huì)話。
? 3.application
他在所有的應(yīng)用程序中都有效,也就是當(dāng)服務(wù)器開始到服務(wù)器結(jié)束這段時(shí)間,application作用域中存儲(chǔ)的數(shù)據(jù)都是有效的,同樣可以通過setAttribute賦值和getAttribute取值。
? 4.page
他只在當(dāng)前頁面有效,也就是用戶請(qǐng)求的頁面有效,當(dāng)當(dāng)前頁面關(guān)閉或轉(zhuǎn)到其他頁面時(shí),page對(duì)象將在響應(yīng)回饋給客戶端后釋放。
config 對(duì)象的主要作用是取得服務(wù)器的配置信息。通過 pageConext對(duì)象的 getServletConfig() 方法可以獲取一個(gè)config對(duì)象。當(dāng)一個(gè)Servlet 初始化時(shí),容器把某些信息通過 config對(duì)象傳遞給這個(gè) Servlet。 開發(fā)者可以在web.xml 文件中為應(yīng)用程序環(huán)境中的Servlet程序和JSP頁面提供初始化參數(shù)。
exception 對(duì)象的作用是顯示異常信息,只有在包含 isErrorPage="true" 的頁面中才可以被使用,在一般的JSP頁面中使用該對(duì)象將無法編譯JSP文件。excepation對(duì)象和Java的所有對(duì)象一樣,都具有系統(tǒng)提供的繼承結(jié)構(gòu)。exception 對(duì)象幾乎定義了所有異常情況。在Java程序中,可以使用try/catch關(guān)鍵字來處理異常情況; 如果在JSP頁面中出現(xiàn)沒有捕獲到的異常,就會(huì)生成 exception 對(duì)象,并把 exception 對(duì)象傳送到在page指令中設(shè)定的錯(cuò)誤頁面中,然后在錯(cuò)誤頁面中處理相應(yīng)的 exception 對(duì)象