jsp九大內建物件,四大作用域
阿新 • • 發佈:2019-05-29
package com.atguigu.demo;
public class Demo {
/**
Jsp
* 簡介:Java Server Pages(java伺服器端頁面)
* Servlet = java + html
* Jsp = html + java
* Jsp只能執行伺服器(Web容器)中。
* Jsp本質是Servlet
* Jsp執行原理
* 第一次訪問jsp檔案時,會經過一下步驟
* 伺服器將.jsp檔案翻譯為.java檔案(Servlet)
* 將.java檔案編譯為.class檔案
* 執行
* 如檔案未改變時,以後再訪問,不會翻譯和編譯。
* Jsp基本語法(6)
* 指令
* 語法:<%@ %>
* 指令碼片段
* 語法:<%%>
* 作用:書寫java程式碼。(_jspService()中)
* 表示式
* 語法:<%= %>
* 作用:輸出資料到頁面
* 模板元素(html)
* 宣告
* 語法:<%!%>
* 書寫java程式碼。(類中)
* 註釋
* html:<!---->
* java:// /**\/
* jsp:<%-- --%>
* Jsp指令
* 語法:<%@ 指令名 屬性=屬性值 屬性2=屬性值2%>
* 常用指令
* page指令
* language:支援語言,預設java,只有java。
* contentType:與response.setContentType()作用一致。
* pageEncoding:jsp頁面編碼。
* import:導包
* errorPage:錯誤頁面(當前頁面報錯時,顯示的頁面)
* isErrorPage:設定當前頁面是否為錯誤頁面
* include指令
* 作用:將目標頁面包含到當前頁面中。
* 特點:靜態包含,被包含的檔案不會被翻譯和編譯。
* taglib(jstl時講到)
* Jsp動作標籤
* 語法:<jsp: 標籤名 屬性=屬性值></jsp:>
* 常用的動作標籤
* 轉發:
* 帶引數
* <jsp:forward page="NewFile.jsp">
<jsp:param value="18" name="age"/>
</jsp:forward>
* 不帶引數
* 注意開始標籤與結束標籤之間不能有任何內容。
* 動態包含
* 語法:<jsp:include page="被包含檔案的路徑"></jsp:include>
* 特點:被包含檔案會先被翻譯和編譯
* Jsp九大隱含物件
* 定義:可以在jsp中直接使用的物件。(不需要我們new的物件,伺服器例項化的九大隱含物件,並存放在_jspService()方法中)
* 物件詳情
1. application
* 型別:ServletContext
* 作用:域物件
* Servlet中的獲取方式:this.getServletContext()
2. session
* 型別:HttpSession
* 作用:域物件
* Servlet中的獲取方式:request.getSession();
3. request
* 型別:HttpServletRequest
* 作用:域物件(4個)
* Servlet中的獲取方式:直接使用
4. pageContext
* 型別:PageContext
* 作用
* 域物件
* jsp老大(可以通過老大直接獲取其他八個隱含物件)
* Servlet中的獲取方式:無
5. response
* 型別:HttpServletResponse
* 作用:域Servlet中的response物件一致
* Servlet中的獲取方式:直接使用
6. page
* 型別:Object
* 作用:page = this,當前類的物件。
7. out
* 型別:JspWriter
* 作用:與Servlet中的PrintWriter的作用類似。(都繼承了java.io.Writer)
8. config
* 型別:ServletConfig
* 作用:與Servlet中的ServletConfig的作用一致
* Servlet中的獲取方式:this.getServletConfig()
9. exception
* 型別:Throwable
* 作用:接受處理異常資訊
* Jsp四大域物件
* 域:區域,在web應用的不同資源中,相互傳遞資料。
* 生活區域(快遞)
* 昌平區域
* 北京同城
* 全國快遞
* 全球快遞
* 程式區域
* 域物件共有的方法
* getAttribute()
* setAttribute()
* removeAttribute()
* 詳情
* application
* 範圍: 當前專案中有效
* session
* 範圍: 當前會話中有效(與瀏覽器,只有瀏覽器不關閉|不換,就一直有效)
* request
* 範圍: 當前請求中有效
* pageContext
* 範圍: 當前頁面中有效
* 能用小域,就不用大域。
*/
}