3. 內置對象 * 在jsp頁面中不須要建立,直接使用的對象 * 一共有9個: 變量名 真實類型 做用 * pageContext PageContext 當前頁面共享數據,還能夠獲取其餘八個內置對象 * request HttpServletRequest 一次請求訪問的多個資源(轉發) * session HttpSession 一次會話的多個請求間 * application ServletContext 全部用戶間共享數據 * response HttpServletResponse 響應對象 * page Object 當前頁面(Servlet)的對象 this * out JspWriter 輸出對象,數據輸出到頁面上 * config ServletConfig Servlet的配置對象 * exception Throwable 異常對象
pageContext 保存數據 只能在當前頁面
html
1. jsp演變歷史 1. 早期只有servlet,只能使用response輸出標籤數據,很是麻煩 2. 後來又jsp,簡化了Servlet的開發,若是過分使用jsp,在jsp中即寫大量的java代碼,有寫html表,形成難於維護,難於分工協做 3. 再後來,java的web開發,借鑑mvc開發模式,使得程序的設計更加合理性 2. MVC: 1. M:Model,模型。JavaBean * 完成具體的業務操做,如:查詢數據庫,封裝對象 2. V:View,視圖。JSP * 展現數據 3. C:Controller,控制器。Servlet * 獲取用戶的輸入 * 調用模型 * 將數據交給視圖進行展現 * 優缺點: 1. 優勢: 1. 耦合性低,方便維護,能夠利於分工協做 2. 重用性高 2. 缺點: 1. 使得項目架構變得複雜,對開發人員要求高
1. 運算: * 運算符: 1. 算數運算符: + - * /(div) %(mod) 2. 比較運算符: > < >= <= == != 3. 邏輯運算符: &&(and) ||(or) !(not) 4. 空運算符: empty * 功能:用於判斷字符串、集合、數組對象是否爲null或者長度是否爲0 * ${empty list}:判斷字符串、集合、數組對象是否爲null或者長度爲0 * ${not empty str}:表示判斷字符串、集合、數組對象是否不爲null 而且 長度>0
1. 概念:JavaServer Pages Tag Library JSP標準標籤庫 * 是由Apache組織提供的開源的免費的jsp標籤 <標籤> 2. 做用:用於簡化和替換jsp頁面上的java代碼 3. 使用步驟: 1. 導入jstl相關jar包 2. 引入標籤庫:taglib指令: <%@ taglib %> 3. 使用標籤 4. 經常使用的JSTL標籤 1. if:至關於java代碼的if語句 1. 屬性: * test 必須屬性,接受boolean表達式 * 若是表達式爲true,則顯示if標籤體內容,若是爲false,則不顯示標籤體內容 * 通常狀況下,test屬性值會結合el表達式一塊兒使用 2. 注意: * c:if標籤沒有else狀況,想要else狀況,則能夠在定義一個c:if標籤 2. choose:至關於java代碼的switch語句 1. 使用choose標籤聲明 至關於switch聲明 2. 使用when標籤作判斷 至關於case 3. 使用otherwise標籤作其餘狀況的聲明 至關於default 3. foreach:至關於java代碼的for語句 5. 練習: * 需求:在request域中有一個存有User對象的List集合。須要使用jstl+el將list集合數據展現到jsp頁面的表格table中
jstl1.jsp
<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>java
<html>
<head>web
<title>if標籤</title>
</head>
<body>數據庫
<%-- c:if標籤 1. 屬性: * test 必須屬性,接受boolean表達式 * 若是表達式爲true,則顯示if標籤體內容,若是爲false,則不顯示標籤體內容 * 通常狀況下,test屬性值會結合el表達式一塊兒使用 2. 注意:c:if標籤沒有else狀況,想要else狀況,則能夠在定義一個c:if標籤 --%> <c:if test="true"> <h1>我是真...</h1> </c:if> <br> <% //判斷request域中的一個list集合是否爲空,若是不爲null則顯示遍歷集合 List list = new ArrayList(); list.add("aaaa"); request.setAttribute("list",list); request.setAttribute("number",4); %> <c:if test="${not empty list}"> 遍歷集合... </c:if> <br> <c:if test="${number % 2 != 0}"> ${number}爲奇數 </c:if> <c:if test="${number % 2 == 0}"> ${number}爲偶數 </c:if>
</body>
</html>數組