JavaWeb——EL技術,JSTL技術,JavaEE開發模式
EL技術
EL(Express Lanuage)表達式可以嵌入在jsp頁面內部,減少jsp腳本的編寫,EL出現的目的是要替代jsp頁面中腳本的編寫。
EL最主要的作用就是從域中取出數據,格式${EL表達式}
- EL獲得pageContext域中的值:${pageScope.key};
- EL獲得request域中的值:${requestScope.key};
- EL獲得session域中的值:${sessionScope.key};
- EL獲得application域中的值:${applicationScope.key};.
- EL從四個域中獲得某個值${key};
同樣是依次從pageContext域,request域,session域,application域中 獲取屬性,在某個域中獲取後將不在向後尋找
EL內置(11個)對象
1)接收傳來的參數
param與paramValues // param.參數名
相當於request.getParameter() request.getParameterValues()
2)獲取請求頭信息
header,headerValues // header.請求頭參數
相當於request.getHeader(name)
3)獲取全局初始化參數
initParam // initParam.參數名
相當於this.getServletContext().getInitParameter(name)
web.xml文件格式
<context-param> <param-name>abc</param-name> <param-value>鑫哥棒棒噠!</param-value> </context-param>
4)Cookie
cookie // cookie.name,cookie.value
相當於request.getCookies()---cookie.getName()---cookie.getValue()
5)PageContext
PageContext.request.contextPath // 獲取當前WEB應用名稱
相當於
<%=pageContext.getRequest().getContextPath%> 這句代碼不能實現
其它功能:獲得其他八大對象
PageContext.request/response/cookie/session
名稱 |
類型 |
描述 |
out |
javax.servlet.jsp.JspWriter |
用於頁面輸出 |
request |
javax.servlet.http.HttpServletRequest |
得到用戶請求信息, |
response |
javax.servlet.http.HttpServletResponse |
服務器向客戶端的回應信息 |
config |
javax.servlet.ServletConfig |
服務器配置,可以取得初始化參數 |
session |
javax.servlet.http.HttpSession |
用來保存用戶的信息 |
application |
javax.servlet.ServletContext |
所有用戶的共享信息 |
page |
java.lang.Object |
指當前頁面轉換後的Servlet類的實例 |
pageContext |
javax.servlet.jsp.PageContext |
JSP的頁面容器 |
exception |
java.lang.Throwable |
表示JSP頁面所發生的異常,在錯誤頁中才起作用 |
判斷是否為空
${empty user}
JSTL技術
JSTL(JSP Standard Tag Library),JSP標準標簽庫,可以嵌入在jsp頁面中使用標簽的形式完成業務邏輯等功能。jstl出現的目的同el一樣也是要代替jsp頁面中的腳本代碼。JSTL標準標準標簽庫有5個子庫,但隨著發展,目前常使用的是他的核心庫Core。
標簽庫 |
標簽庫的URI |
前綴 |
Core |
http://java.sun.com/jsp/jstl/core |
c |
I18N |
http://java.sun.com/jsp/jstl/fmt |
fmt |
SQL |
http://java.sun.com/jsp/jstl/sql |
sql |
XML |
http://java.sun.com/jsp/jstl/xml |
x |
Functions |
http://java.sun.com/jsp/jstl/functions |
fn |
a.下載標簽庫的兩個jar包
b.導入標簽庫
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
1、if條件判斷
格式:
<c:if test="條件判斷">標簽
其中test是返回boolean的條件,JSTL中沒有 else。
2、for循環
格式:
<c:forEach>標簽
使用方式有兩種組合形式:
第一種形式
第二種形式
<c:forEach items="${strList }" var="str"> ${str }<br/> </c:forEach>
JavaEE開發模式
模式在開發過程中總結出的“套路”,總結出的一套約定俗成的設計模式
MVC模式
M:Model---模型 javaBean:封裝數據
V:View-----視圖 jsp:單純進行頁面的顯示
C:Controller----控制器 Servelt:獲取數據--對數據進行封裝--傳遞數據-- 指派顯示的jsp頁面
JavaEE三層架構
web層:與客戶端交互
service層:復雜業務處理
dao層:與數據庫進行交互
開發實踐時 三層架構通過包結構體現
JavaWeb——EL技術,JSTL技術,JavaEE開發模式