詳解:jsp九大內置對象學習

內置對象定義

jsp內置對象就是不用自己定義,直接拿來使用的對象,就叫做內置對象,
內置對象一共九個,可以在web服務器解析jsp後得到的java源文件中看到
在tomcat服務器中的work中的.java源文件。
![](https://img-blog.csdn.net/20170727135516834watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc21pdGhsaWFuZzE5OTY=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)

內置對象分爲:
1.out
2.response
3.request
4.session
5.application
6.config
7.page-context
8.page
9.exception
下面我爲大家詳細的一一介紹這九大內置對象。
1.out
字符輸出流,一般來講,客戶端發送給服務器的所有數據都封裝在out對象中

//1.換行
out.println();
//2.不換行
out.print();
//3.清空緩衝區
out.clearBuffer();
//

2.response
服務器響應給客戶端的所有數據,都會被封裝進response中,再從response中取出來,製作一個http響應。

//1.獲取一個字符輸出流
PrintWriter pw = response.getWriter();

//2.獲取一個字節輸出流
OutPutStream os = response.getOutputStream();
//這裏需要注意的是要使用字節流,必須讓out這個字符輸出流對象時效
//強制讓out時效
out.clearBuffer(); //清空緩衝區
out = pageContext.pushBody();

//3.告訴瀏覽器,服務器響應的數據類型
response.setHeader("content-type","image/jpeg");//圖片

4.重定向
response.sendRedirect(“跳轉頁面”);


**3.request**
    客戶端發送給服務器的所有數據,所有信息,都會封裝在request內置對象中,
    1.請求行
    2.請求頭
    3.請求體

//獲取請求行的數據

//1.獲取請求方式 get/post/put等
request.getMethod();

//2.獲取請求url //統一資源定位器獲取絕對路徑
request.getRequestURL();

//獲取請求頭的數據

request.getHeader(“添加請求頭參數”);
/*
請求頭參數
Accept:請求客戶端接收數據類型
Accept-Language:請求語言
User-Agent:客戶端版本
Accept-Encoding:默認編碼
Host:告訴服務器使用的的是服務器上的那一臺虛擬主機
*/

//獲取其他信息
//1.獲取客戶端ip地址
request.getRemoteAddr();

//2.獲取web應用在服務器的真實路徑
request.getRealPath(“/”);

//3.給服務器設置編碼
request.setCharacterEncoding();

//4.獲取請求編碼方式
request.getCharacterEncoding();

//在request範圍內設置一個屬性
request.setAttribute(“屬性”,”屬性值”);
request.getAttribute(“屬性”);

//獲取請求體中的參數
request.getParameter(“請求參數”);
//這是一個枚舉類型
Enumeration e = request.getParameterNames();


**4.session**
會話:就是一個有開始,有結束的過程
例如:會議,從開會開始,到散會爲止,算一個會議會話
*在jsp技術中,會話特指:一個用戶從打開一個網站的任何一個頁面開始,到關閉了該網站的所有頁面爲止,算一次jsp中的會話。*

//1.設置會話屬性
session.setAttribute(“屬性”,”屬性值”);

//2.獲取會話屬性
session.getAttribute(“屬性”);

//3.刪除指定的屬性
session.removeAttribute(“屬性”);

//4.判斷是否爲新會話
session.isNew();

//5.會話id
session.getId();

//6.會話創建時間
session.getCreationTime();

//7.上次會話訪問時間
session.getLastAccessedTime();

//8.讓會話失效
session.invalidate();


**5.application**
*從部署web應用開始,到卸載web應用爲止,算一次應用範圍*
*只有重新部署web應用,或者直接重啓服務器,才能銷燬application範圍*

//1.設置應用範圍屬性
application.setAttribute(“屬性”,”屬性值”);

//2.獲取應用範圍屬性
application.getAttribute(“屬性”);

//3.移除應用範圍屬性
application.removeAttribute(“屬性”);

//4.獲取初始化參數
application.getInitParameter();


**6.config**
*用於獲取jsp頁面的初始化參數*

//步驟1 在web.xml中爲一個jsp頁面配置初始化參數
config.getInitParameter(“屬性”);


**7.page-context**
*頁面範圍,從進入一個jsp頁面開始,到該jsp頁面執行完畢,算一次頁面範圍*

//1.設置頁面範圍屬性
page-context.setAttribute(“屬性”,”屬性值”);

//2.獲取頁面範圍屬性
page-context.setAttribute(“屬性”);

//3.尋找屬性,順序是從小到大,如果在小範圍內找到了,則不會在尋找
page-context.findAttribute(“屬性”);

//5.獲取請求範圍對象
pageContext.getRequest() //== request

//6.獲取會話範圍對象
pageContext.getSession() //== session

//7.動態包含
pageContext.include(“包含頁面”);


**8.page**
*獲取page指令元素中的info屬性內容*
*代表當前jsp頁面本身,本質上就是this。*

**9.exception**
*該對象中,存放了上個頁面拋出的異常*
*要使用該對象,必須在jsp頁面上添加一個指令元素*

//設置錯誤跳轉頁面
<%@page errorPage=”跳轉頁面”%>
“`

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章