jsp運行原理:java
每一個jsp頁面在第一被訪問時,WEB容器都會把該jsp頁面翻譯成一個_jspServlet(其實是一個servlet),而後按照servlet的調用方式進行調用,在調用的過程當中,會傳遞或建立九大web內置對象。web
九大內置對象:數組
1.pageContext服務器
pageContext對象是JSP技術中最重要的一個對象,這個對象不只封裝了其餘8個內置對象,自身仍是一個容器,能夠用於存儲數據。session
- getException();
- getPage();
- getSession();
- getRequest();
- getResponse();
- getServletConfig();
- getServletContext();
- getException();
- setAttribute(String name,Object attribute);設置屬性及屬性值
- getAttribute(String name);在指定範圍內獲取設置的屬性值
- removeAttribute(String name);刪除屬性
- getAttributeScopt(String name);返回某屬性的做用範圍
- forward(String relativeUrlPath);使當前頁面重定向到另外一頁面
- include(String relativeUrlPath);在當前位置引入另外一文件
- release();釋放pageContext所佔用的資源
2.requestapp
request爲一次請求範圍內建立的對象。該對象封裝了請求的各類信息。jsp
- getAttribute(String name);返回指定屬性的值
- setAttribute(String key,Object obj);設置屬性的值
- getAttributeNames();返回全部可用屬性名的枚舉
- getParameterNames();返回可用參數名中的枚舉
- getParameterValues();返回包含參數name的全部值得數組
- setCharacterEncoding();設置字符編碼格式
- getCharacterEncoding();返回字符編碼格式
- getContentType();返回請求體的MIME類型
- getInputStream();返回請求中的二進制流
- getProtocol();返回請求用的協議類型及版本號
- getServerPort();返回服務器接受此請求所用的端口號
3.responsethis
response對象包含了響應客戶請求的有關信息。編碼
- getCharacterEncoding();返回響應用的是何種字符編碼
- getOutputStream();返回響應的一個二進制輸出流
- getWriter();返回一個向客戶端輸出字符的對象
- setContentType(String type);設置響應的MIME類型
- sendRedirect(String location);重定向客戶端請求
4.sessionspa
session對象指客戶端與服務端的一次會話,從客戶端鏈接到服務器開始,知道斷開鏈接爲止。
- setAttribute(String name,Object obj);設置屬性的值
- getAttribute(String name);返回屬性值
- getAttributeNames;返回可用參數名中的枚舉
- getCreationTime();返回session建立時間
- getId();返回session建立的惟一ID號
- getLastAccessedTime();返回此session裏客戶端最近一次請求時間
- getMaxInactiveInterval();返回兩次請求間隔多長時間此session被取消(ms)
- getValueNames();返回一個包含此session中全部可用屬性的數組
- invalidate();取消session,使得session不可用
5.application
application做用範圍是於服務器啓動,知道服務器關閉,是一個全局變量,用戶之間能夠經過application進行數據共享。
- getAttribute(String name);返回屬性值
- setAttribute(String name,Object obj);設置屬性值
- getAttributeNames();返回全部可用屬性名的枚舉
- removeAttribute(String name);刪除屬性名及對應的屬性值
- getRealPath(String path);返回虛擬路徑的真實路徑
- getContext(String s)返回指定webApplication的application對象
- getMimeType(Stirg file);返回指定文件的MIME類型
- getResource(String path);返回指定資源(文件及目錄)的URL路徑
- getResourceAsStream(String path);返回指定資源的輸入流
- getRequestDispatcher(String s);返回指定資源的requestDispathcer對象
- getServlets();返回全部servlet的枚舉
- getServlet(String name);返回指定名的servlet
- getServletNames();返回全部servlet名的枚舉
6.config
config對象是在一個servlet初始化時,準備一個傳遞信息的對象,此對象中包含了servlet初始化使用的參數以及服務器的有關信息。
7.page
page對象表示當前jsp頁面對象,相似與java中的this指針,指向自己,是一個java.lang.Object類的實例
8.out
out對象是JspWriter類的實例,經常使用於向客戶端輸出內容。
- write(T val);輸出
- clear();清空out緩衝區
- flush();強制刷新
- clear();關閉輸出流
9.exception
異常處理對象,當頁面運行報錯,就產生了這個對象。若是要在jsp頁面中使用該對象,須要將isErrorPage設置爲true
- getMessage();返回描述異常的消息