標籤:
1、JSP的運行原理: JSP 本質上是一個 Servlet.每個JSP 頁面在第一次被訪問時, JSP 引擎將它翻譯成一個 Servlet 來源程式, 接著再把這個 Servlet 來源程式編譯成 Servlet 的 class 類檔案. 然後再由WEB容器(Servlet引擎)像調用普通Servlet程式一樣的方式來裝載和解釋執行這個由JSP頁面翻譯成的Servlet程式。
2、JSP頁面一共有 9 個隱含對象.
①. request: HttpServletRequest 的一個對象.
②. response: HttpServletResponse 的一個對象(在 JSP 頁面中幾乎不會調用 response 的任何方法.)
③. pageContext: 頁面的上下文, 是 PageContext 的一個對象. 可以從該對象中擷取到其他 8 個隱含對象. 也可以從中擷取到當前 頁面的其他資訊.
④. session: 代表瀏覽器和伺服器的一次會話, 是 HttpSession 的一個對象.
⑤. application: 代表當前 WEB 應用. 是 ServletContext 對象.
⑥. config: 當前 JSP 對應的 Servlet 的 ServletConfig 對象(幾乎不使用). 若需要訪問當前 JSP 配置的初始化參數, 需要通過映射的地址才可以.
⑦. out: JspWriter 對象. 調用 out.println() 可以直接把字串列印到瀏覽器上.
⑧. page: 指向當前 JSP 對應的 Servlet 對象的引用, 但為 Object 類型, 只能調用 Object 類的方法(幾乎不使用)
⑨. exception: 在聲明了 page 指令的 isErrorPage="true" 時, 才可以使用.
3. 和屬性相關的方法:
1). 方法
void setAttribute(String name, Object o): 設定屬性
Object getAttribute(String name): 擷取指定的屬性
Enumeration getAttributeNames(): 擷取所有的屬性的名字組成的 Enumeration 對象
removeAttribute(String name): 移除指定的屬性
2). pageContext, request, session, application 對象都有這些方法! 這四個對象也稱之為域對象.
pageContext: 屬性的作用範圍僅限於當前 JSP 頁面
request: 屬性的作用範圍僅限於同一個請求.
session: 屬性的作用範圍限於一次會話: 瀏覽器開啟直到關閉稱之為一次會話(在此期間會話不失效)
application: 屬性的作用範圍限於當前 WEB 應用. 是範圍最大的屬性作用範圍, 只要在一處設定屬性, 在其他各處的 JSP 或 Servlet 中 都可以擷取到.
JSP 相關基礎知識點