最簡潔 JSP與EL表示式
一、概況
1.1 介紹
-
-
JSP檔案代替響應物件 將處理結果寫入響應體開發流程
-
響應物件的缺點:
適合資料量少寫入響應體
如果多 增加開發難度
-
-
制定了伺服器如何呼叫JSP檔案
1.2 JSP檔案
-
執行時會自動寫入響應體中 省略out.print();
-
只能在 web下 能寫html css java
-
在裡面直接寫java 只會被當成字串寫入響應體中
//在JSP寫java程式碼 只有在<% java程式碼才可以 %> 在伺服器執行
//輸出到響應體 <%=變數%>
//導包ALT+回車 自動導包
//把每段程式碼當做一個整體
<%
if(i == 1){
%>
<p>急急急</p>
<%
}else {
%>
<p>不不不</p>
<%
}
%>
1.3 內建物件 JSP檔案中
//請求物件 HttpServletRequest request
//讀取請求頭的資訊與Servlet請求轉發過程實現資料共享
//會話作用域物件 HttpSession sessioh
//私人儲物櫃 讀取 新增共享資料
//全域性作用域物件 ServletContext application
//同一個網站下 Servlet與JSP共享資料 全域性儲物櫃 讀取 新增共享資料
二、Servlet 與 JSP
2.1 分工
Servlet:負責業務處理並得到處理結果
JSP: 不負責業務處理 主要將Servlet處理結果寫入響應體
2.2 呼叫關係
Servlet工作完畢 一般使用請求轉發 向伺服器請求呼叫JSP
2.3 資料共享
Servlet將處理結果 新增到請求作用域物件
JSP在執行的時候從請求作用域物件獲取處理結果
三、JSP檔案執行原理
-
伺服器將JSP檔案編譯為一個Servlet介面實現類
-
伺服器將這個實現類編譯成有一個class檔案
-
伺服器負責建立這個class例項物件
-
例項物件呼叫方法將JSP檔案內容寫入響應體內
四、JSP class java檔案位置
C:\Users\Administrator\AppData\Local\JetBrains\IntelliJIdea2020.2\tomcat\未命名_untitled2
五、開發步驟
-
從指定的作用域物件獲取處理結果
-
得到的是Object要進行強轉
-
將轉化的資料寫入響應體
JSP-EL技術
一、介紹
-
-java技術開發的一個jar包
-
降低JSP對java命令的開發難度
-
在Tomcat安裝lib下el-api.jar
二、EL表示式
2.1 命令格式:
${作用域物件別名.共享資料別名}
2.2 作用:
-
EL表示式是EL.jar包提供的一種特殊命令格式【表示式命令格式】
-
專門在JSP檔案使用
-
負責在JSP檔案上從作用域物件讀取指定的共享資料並輸出到響應體
2.3 在JSP的作用域物件
-
ServletContext application;全域性作用域物件
-
HttpSession session;會話作用域物件
-
HttpServletRequest request;請求作用域物件
-
PageContext pageContext;當前頁作用域物件
-
JSP檔案獨有作用域物件
-
存放的共享資料只能在當前JSP使用
-
主要是JSTL與JSP檔案之間的資料共享
-
JSTL--->pageContext-->JSP
-
2.4 EL表示式 作用域別名
前三個後+Scope
最後pageScope
2.5 EL 呼叫引用屬性寫入響應體
-
命令格式:${作用域物件別名.共享資料名.屬性名}
-
屬性名:一定要和型別屬性名完全一致
-
無法從作用域物件讀取集合 沒有提供遍歷集合方法
三、簡化EL表示式
-
命令格式:${共享資料名}
-
作用:省略作用域物件別名
-
工作原理:用猜 先從page-->request-->session-->application
-
缺點:容易降低程式執行難度 資料定位錯誤
-
目的是:簡化page讀取資料的難度
-
為了節省時間 很多程式設計師都使用簡化版
四、支援運算表示式
-
前提:在讀取資料後進行一番運算 將運算結果寫入響應體
-
運算表示式:
數學表示式
關係表示式 > >= == < <= !=
gt ge eq lt le !=
邏輯表示式 && || !
五、其他內建物件
1.獲得請求引數 簡化 :${param.引數名}