1. 程式人生 > >【Web篇05】JSP、JSP表示式、JSP四個域、EL表示式、EL四個域 之間的區別

【Web篇05】JSP、JSP表示式、JSP四個域、EL表示式、EL四個域 之間的區別

一、JSP
Java ServerPages,即java伺服器頁面,本質是Servelt,存放在伺服器中,用於頁面顯示;
它的主要構成有HTML網頁程式碼、Java程式碼片段、JSP標籤幾部分組成,字尾是.jsp。
(1)JSP指令碼元素:是嵌入到JSP中Java程式碼段,格式以**<%開頭,%>結尾,被JSTL代替
(2)JSP表示式:用來直接將Java變數輸出到jsp頁面中,格式以
<%=開頭,以%>**結尾,被EL表示式代替

二、JSP四個域 —— 四個域物件
JSP九個隱含物件,是JSP容器為每個頁面提供的java物件,在JSP中可直接使用,不需要事先定義;
主要有四個域,對應四個域物件,如下:

  1. page域
    範圍:(當前頁面),跳轉頁面就沒了
    對應的域物件:pageContext

  2. request域
    範圍:當前請求(一次請求),從http請求到伺服器響應,到響應返回瀏覽器,這個過程中一直有效;
    可以跳轉頁面,但不可以重新整理頁面,重新整理頁面就沒了
    對應的域物件:request

  3. session域
    範圍:當前會話(一次會話)指開啟瀏覽器到關掉瀏覽器(關掉瀏覽器就沒了)
    對應的域物件:session

  4. application域
    範圍:當前Web應用(伺服器重啟後就沒有了)
    對應的域物件:application

★ 以上四個域物件,從上往下範圍依次增大;都有以下方法;
(1)往域裡新增屬性


域物件.setAttribute(String key , Object value);
(2)在域中移除屬性
域物件.removeAttribute(String key);
(3)在域中修改屬性,所用不多,略過

★ 在呼叫四個域中的域物件時,預設全域查詢,能用小的域就不用大的域:
GET方法,轉發,一般用request域記錄;
POST方法,重定向,一般用session域記錄

三、EL表示式 —— EL四個域物件
EL的全稱:Expression Language,即表達語言;它的作用是代替JSP表示式,在JSP頁面中獲取域中的value值
!EL表示式寫在JSP頁面的body標籤中!


格式:${表示式}
(1)EL表示式僅僅用來讀取資料,而不能對資料進行修改;
(2)使用EL表示式輸出資料時,如果有則輸出資料,如果為null則輸出空串" ";
EL的四個域物件:pageScope、requestScope、sessionScope、applicationScope
————————————————————————————————————————
小結:
JSP的四個域:在servlet頁面,在域中寫入東西,用java程式碼;
四個域:page、request、session、application
四個域物件:pageContext、request、session、application

EL表示式:寫在jsp頁面的body標籤內,用EL表示式獲取對應域中的東西,
域物件.getAttribute(“” , “”),一般通過鍵值對的形式;
四個域物件:pageScope、requestScope、sessionScope、applicationScope
等同於與servlet中的四個域物件,只是寫法不同,實際上一個東西