Submit Search
Upload
Ch06 使用JSP
•
0 likes
•
533 views
Justin Lin
Follow
了解JSP生命週期 • 使用JSP語法元素 • 使用JSP標準標籤 • 了解何謂Model 1架構 • 使用運算式語言(EL) • 自訂EL函式
Read less
Read more
Technology
Report
Share
Report
Share
1 of 86
Download Now
Download to read offline
Recommended
Ch07 使用JSTL
Ch07 使用JSTL
Justin Lin
Ch08 自訂標籤
Ch08 自訂標籤
Justin Lin
Ch02 撰寫與設定Servlet
Ch02 撰寫與設定Servlet
Justin Lin
Ch05 Servlet進階API、過濾器與傾聽器
Ch05 Servlet進階API、過濾器與傾聽器
Justin Lin
整合資料庫
整合資料庫
Justin Lin
Servlet & JSP 教學手冊第二版 - 第 2 章:撰寫與設定 Servlet
Servlet & JSP 教學手冊第二版 - 第 2 章:撰寫與設定 Servlet
Justin Lin
Ch06 使用 JSP
Ch06 使用 JSP
Justin Lin
Servlet & JSP 教學手冊第二版 - 第 7 章:使用 JSTL
Servlet & JSP 教學手冊第二版 - 第 7 章:使用 JSTL
Justin Lin
More Related Content
What's hot
Servlet & JSP 教學手冊第二版 - 第 1 章:簡介Web應用程式
Servlet & JSP 教學手冊第二版 - 第 1 章:簡介Web應用程式
Justin Lin
Servlet & JSP 教學手冊第二版 - 第 8 章:自訂標籤
Servlet & JSP 教學手冊第二版 - 第 8 章:自訂標籤
Justin Lin
Ch13 整合 Spring MVC/Security
Ch13 整合 Spring MVC/Security
Justin Lin
Servlet & JSP 教學手冊第二版 - 第 3 章:請求與回應
Servlet & JSP 教學手冊第二版 - 第 3 章:請求與回應
Justin Lin
Ch02 撰寫與設定 Servlet
Ch02 撰寫與設定 Servlet
Justin Lin
Ch10 Web容器安全管理
Ch10 Web容器安全管理
Justin Lin
Ch08 自訂標籤
Ch08 自訂標籤
Justin Lin
Ch01 簡介Web應用程式
Ch01 簡介Web應用程式
Justin Lin
Servlet & JSP 教學手冊第二版 - 第 5 章:Servlet 進階 API、過濾器與傾聽器
Servlet & JSP 教學手冊第二版 - 第 5 章:Servlet 進階 API、過濾器與傾聽器
Justin Lin
Servlet & JSP 教學手冊第二版 - 第 6 章:使用 JSP
Servlet & JSP 教學手冊第二版 - 第 6 章:使用 JSP
Justin Lin
Ch09 整合資料庫
Ch09 整合資料庫
Justin Lin
CH1. 簡介 Web 應用程式
CH1. 簡介 Web 應用程式
Justin Lin
自訂泛型、列舉與標註
自訂泛型、列舉與標註
Justin Lin
Ch05 Servlet 進階 API、過濾器與傾聽器
Ch05 Servlet 進階 API、過濾器與傾聽器
Justin Lin
Ch09 整合資料庫
Ch09 整合資料庫
Justin Lin
Ch13 整合Spring MVC
Ch13 整合Spring MVC
Justin Lin
Servlet & JSP 教學手冊第二版 - 第 9 章:整合資料庫
Servlet & JSP 教學手冊第二版 - 第 9 章:整合資料庫
Justin Lin
Servlet & JSP 教學手冊第二版 - 第 12 章:從模式到框架
Servlet & JSP 教學手冊第二版 - 第 12 章:從模式到框架
Justin Lin
Ch03 請求與回應
Ch03 請求與回應
Justin Lin
Servlet & JSP 教學手冊第二版 - 課後練習解答
Servlet & JSP 教學手冊第二版 - 課後練習解答
Justin Lin
What's hot
(20)
Servlet & JSP 教學手冊第二版 - 第 1 章:簡介Web應用程式
Servlet & JSP 教學手冊第二版 - 第 1 章:簡介Web應用程式
Servlet & JSP 教學手冊第二版 - 第 8 章:自訂標籤
Servlet & JSP 教學手冊第二版 - 第 8 章:自訂標籤
Ch13 整合 Spring MVC/Security
Ch13 整合 Spring MVC/Security
Servlet & JSP 教學手冊第二版 - 第 3 章:請求與回應
Servlet & JSP 教學手冊第二版 - 第 3 章:請求與回應
Ch02 撰寫與設定 Servlet
Ch02 撰寫與設定 Servlet
Ch10 Web容器安全管理
Ch10 Web容器安全管理
Ch08 自訂標籤
Ch08 自訂標籤
Ch01 簡介Web應用程式
Ch01 簡介Web應用程式
Servlet & JSP 教學手冊第二版 - 第 5 章:Servlet 進階 API、過濾器與傾聽器
Servlet & JSP 教學手冊第二版 - 第 5 章:Servlet 進階 API、過濾器與傾聽器
Servlet & JSP 教學手冊第二版 - 第 6 章:使用 JSP
Servlet & JSP 教學手冊第二版 - 第 6 章:使用 JSP
Ch09 整合資料庫
Ch09 整合資料庫
CH1. 簡介 Web 應用程式
CH1. 簡介 Web 應用程式
自訂泛型、列舉與標註
自訂泛型、列舉與標註
Ch05 Servlet 進階 API、過濾器與傾聽器
Ch05 Servlet 進階 API、過濾器與傾聽器
Ch09 整合資料庫
Ch09 整合資料庫
Ch13 整合Spring MVC
Ch13 整合Spring MVC
Servlet & JSP 教學手冊第二版 - 第 9 章:整合資料庫
Servlet & JSP 教學手冊第二版 - 第 9 章:整合資料庫
Servlet & JSP 教學手冊第二版 - 第 12 章:從模式到框架
Servlet & JSP 教學手冊第二版 - 第 12 章:從模式到框架
Ch03 請求與回應
Ch03 請求與回應
Servlet & JSP 教學手冊第二版 - 課後練習解答
Servlet & JSP 教學手冊第二版 - 課後練習解答
Similar to Ch06 使用JSP
Java Web动态图表编程
Java Web动态图表编程
yiditushe
Jsp高级编程
Jsp高级编程
yiditushe
Jsp讲义
Jsp讲义
yiditushe
02.web sphere培训 应用websphere
02.web sphere培训 应用websphere
littlecong
中远公司 Java培训资料
中远公司 Java培训资料
yiditushe
J2ee经典学习笔记
J2ee经典学习笔记
yiditushe
01.web sphere培训 j2ee服务器简介
01.web sphere培训 j2ee服务器简介
littlecong
Jsp面试知识
Jsp面试知识
yiditushe
OpenEJB - 另一個選擇
OpenEJB - 另一個選擇
Justin Lin
000 北京圣思园教育科技有限公司第一期面授培训大纲
000 北京圣思园教育科技有限公司第一期面授培训大纲
ArBing Xie
千呼萬喚始出來的 Java SE 7
千呼萬喚始出來的 Java SE 7
Justin Lin
使用 ES 6/7 特性开发 Node 项目
使用 ES 6/7 特性开发 Node 项目
Welefen Lee
Java Tutorial:Learn Java in 06:00:00
Java Tutorial:Learn Java in 06:00:00
Justin Lin
2011 JavaTwo JSF 2.0
2011 JavaTwo JSF 2.0
Anthony Chen
Jsp
Jsp
rdandy
Java SE 7 技術手冊投影片第 14 章 - 整合資料庫
Java SE 7 技術手冊投影片第 14 章 - 整合資料庫
Justin Lin
如何在 Java App 中導入 Scala
如何在 Java App 中導入 Scala
javatwo2011
Ruby Rails 老司機帶飛
Ruby Rails 老司機帶飛
Wen-Tien Chang
View 與 Blade 樣板引擎
View 與 Blade 樣板引擎
Shengyou Fan
Ejb方面
Ejb方面
yiditushe
Similar to Ch06 使用JSP
(20)
Java Web动态图表编程
Java Web动态图表编程
Jsp高级编程
Jsp高级编程
Jsp讲义
Jsp讲义
02.web sphere培训 应用websphere
02.web sphere培训 应用websphere
中远公司 Java培训资料
中远公司 Java培训资料
J2ee经典学习笔记
J2ee经典学习笔记
01.web sphere培训 j2ee服务器简介
01.web sphere培训 j2ee服务器简介
Jsp面试知识
Jsp面试知识
OpenEJB - 另一個選擇
OpenEJB - 另一個選擇
000 北京圣思园教育科技有限公司第一期面授培训大纲
000 北京圣思园教育科技有限公司第一期面授培训大纲
千呼萬喚始出來的 Java SE 7
千呼萬喚始出來的 Java SE 7
使用 ES 6/7 特性开发 Node 项目
使用 ES 6/7 特性开发 Node 项目
Java Tutorial:Learn Java in 06:00:00
Java Tutorial:Learn Java in 06:00:00
2011 JavaTwo JSF 2.0
2011 JavaTwo JSF 2.0
Jsp
Jsp
Java SE 7 技術手冊投影片第 14 章 - 整合資料庫
Java SE 7 技術手冊投影片第 14 章 - 整合資料庫
如何在 Java App 中導入 Scala
如何在 Java App 中導入 Scala
Ruby Rails 老司機帶飛
Ruby Rails 老司機帶飛
View 與 Blade 樣板引擎
View 與 Blade 樣板引擎
Ejb方面
Ejb方面
More from Justin Lin
Ch14 簡介 Spring Boot
Ch14 簡介 Spring Boot
Justin Lin
Ch12 Spring 起步走
Ch12 Spring 起步走
Justin Lin
Ch11 簡介 JavaMail
Ch11 簡介 JavaMail
Justin Lin
Ch10 Web 容器安全管理
Ch10 Web 容器安全管理
Justin Lin
Ch07 使用 JSTL
Ch07 使用 JSTL
Justin Lin
Ch04 會話管理
Ch04 會話管理
Justin Lin
14. 進階主題
14. 進階主題
Justin Lin
13.並行、平行與非同步
13.並行、平行與非同步
Justin Lin
12. 除錯、測試與效能
12. 除錯、測試與效能
Justin Lin
11. 常用內建模組
11. 常用內建模組
Justin Lin
10. 資料永續與交換
10. 資料永續與交換
Justin Lin
9. 資料結構
9. 資料結構
Justin Lin
8. open() 與 io 模組
8. open() 與 io 模組
Justin Lin
7. 例外處理
7. 例外處理
Justin Lin
6. 類別的繼承
6. 類別的繼承
Justin Lin
5. 從模組到類別
5. 從模組到類別
Justin Lin
4. 流程語法與函式
4. 流程語法與函式
Justin Lin
3.型態與運算子
3.型態與運算子
Justin Lin
1. Python起步走
1. Python起步走
Justin Lin
2. 從 REPL 到 IDE
2. 從 REPL 到 IDE
Justin Lin
More from Justin Lin
(20)
Ch14 簡介 Spring Boot
Ch14 簡介 Spring Boot
Ch12 Spring 起步走
Ch12 Spring 起步走
Ch11 簡介 JavaMail
Ch11 簡介 JavaMail
Ch10 Web 容器安全管理
Ch10 Web 容器安全管理
Ch07 使用 JSTL
Ch07 使用 JSTL
Ch04 會話管理
Ch04 會話管理
14. 進階主題
14. 進階主題
13.並行、平行與非同步
13.並行、平行與非同步
12. 除錯、測試與效能
12. 除錯、測試與效能
11. 常用內建模組
11. 常用內建模組
10. 資料永續與交換
10. 資料永續與交換
9. 資料結構
9. 資料結構
8. open() 與 io 模組
8. open() 與 io 模組
7. 例外處理
7. 例外處理
6. 類別的繼承
6. 類別的繼承
5. 從模組到類別
5. 從模組到類別
4. 流程語法與函式
4. 流程語法與函式
3.型態與運算子
3.型態與運算子
1. Python起步走
1. Python起步走
2. 從 REPL 到 IDE
2. 從 REPL 到 IDE
Recently uploaded
20170104 - transaction_pattern
20170104 - transaction_pattern
Jamie (Taka) Wang
20200226 - AI Overview
20200226 - AI Overview
Jamie (Taka) Wang
20211119 - demystified artificial intelligence with NLP
20211119 - demystified artificial intelligence with NLP
Jamie (Taka) Wang
20161027 - edge part2
20161027 - edge part2
Jamie (Taka) Wang
20200323 - AI Intro
20200323 - AI Intro
Jamie (Taka) Wang
SymPy 在微積分上的應用_4.pptx SymPy 在微積分上的應用_4.pptx
SymPy 在微積分上的應用_4.pptx SymPy 在微積分上的應用_4.pptx
NCU MCL
函數畫圖_習題7.pptx 函數畫圖_習題7.pptx 函數畫圖_習題7.pptx
函數畫圖_習題7.pptx 函數畫圖_習題7.pptx 函數畫圖_習題7.pptx
NCU MCL
买假和真英国驾驶执照买了假的英国驾照,那跟真的有什么区别吗?买假和真正的澳大利亚驾驶执照【微信qoqoqdqd】
买假和真英国驾驶执照买了假的英国驾照,那跟真的有什么区别吗?买假和真正的澳大利亚驾驶执照【微信qoqoqdqd】
黑客 接单【TG/微信qoqoqdqd】
函數微分_習題4.pptx 函數微分_習題4.pptx 函數微分_習題4.pptx
函數微分_習題4.pptx 函數微分_習題4.pptx 函數微分_習題4.pptx
NCU MCL
20161220 - domain-driven design
20161220 - domain-driven design
Jamie (Taka) Wang
SymPy 在微積分上的應用_5.pptx SymPy 在微積分上的應用_5.pptx
SymPy 在微積分上的應用_5.pptx SymPy 在微積分上的應用_5.pptx
NCU MCL
函數畫圖_習題6.pptx 函數畫圖_習題6.pptx 函數畫圖_習題6.pptx
函數畫圖_習題6.pptx 函數畫圖_習題6.pptx 函數畫圖_習題6.pptx
NCU MCL
Entities in DCPS (DDS)
Entities in DCPS (DDS)
Jamie (Taka) Wang
函數畫圖_習題5.pptx 函數畫圖_習題5.pptx 函數畫圖_習題5.pptx
函數畫圖_習題5.pptx 函數畫圖_習題5.pptx 函數畫圖_習題5.pptx
NCU MCL
20151111 - IoT Sync Up
20151111 - IoT Sync Up
Jamie (Taka) Wang
Recently uploaded
(15)
20170104 - transaction_pattern
20170104 - transaction_pattern
20200226 - AI Overview
20200226 - AI Overview
20211119 - demystified artificial intelligence with NLP
20211119 - demystified artificial intelligence with NLP
20161027 - edge part2
20161027 - edge part2
20200323 - AI Intro
20200323 - AI Intro
SymPy 在微積分上的應用_4.pptx SymPy 在微積分上的應用_4.pptx
SymPy 在微積分上的應用_4.pptx SymPy 在微積分上的應用_4.pptx
函數畫圖_習題7.pptx 函數畫圖_習題7.pptx 函數畫圖_習題7.pptx
函數畫圖_習題7.pptx 函數畫圖_習題7.pptx 函數畫圖_習題7.pptx
买假和真英国驾驶执照买了假的英国驾照,那跟真的有什么区别吗?买假和真正的澳大利亚驾驶执照【微信qoqoqdqd】
买假和真英国驾驶执照买了假的英国驾照,那跟真的有什么区别吗?买假和真正的澳大利亚驾驶执照【微信qoqoqdqd】
函數微分_習題4.pptx 函數微分_習題4.pptx 函數微分_習題4.pptx
函數微分_習題4.pptx 函數微分_習題4.pptx 函數微分_習題4.pptx
20161220 - domain-driven design
20161220 - domain-driven design
SymPy 在微積分上的應用_5.pptx SymPy 在微積分上的應用_5.pptx
SymPy 在微積分上的應用_5.pptx SymPy 在微積分上的應用_5.pptx
函數畫圖_習題6.pptx 函數畫圖_習題6.pptx 函數畫圖_習題6.pptx
函數畫圖_習題6.pptx 函數畫圖_習題6.pptx 函數畫圖_習題6.pptx
Entities in DCPS (DDS)
Entities in DCPS (DDS)
函數畫圖_習題5.pptx 函數畫圖_習題5.pptx 函數畫圖_習題5.pptx
函數畫圖_習題5.pptx 函數畫圖_習題5.pptx 函數畫圖_習題5.pptx
20151111 - IoT Sync Up
20151111 - IoT Sync Up
Ch06 使用JSP
1.
1
2.
6 • 使用JSP 學習目標 • 了解JSP生命週期 •
使用JSP語法元素 • 使用JSP標準標籤 • 了解何謂Model 1架構 • 使用運算式語言(EL) • 自訂EL函式 2
3.
JSP生命週期 3
4.
4
5.
從Java EE 7的JSP
2.3開始 JSP只接受GET、POST、HEAD請求 5
6.
6
7.
JSP生命週期 7
8.
8
9.
Servlet至JSP的簡單轉換 9
10.
Servlet至JSP的簡單轉換 10
11.
Servlet至JSP的簡單轉換 11
12.
12
13.
13
14.
14
15.
15
16.
16
17.
17
18.
18
19.
指示元素 • page • include •
taglib 19
20.
page指示元素 • 指示如何轉譯... 20
21.
page指示元素 • 可用屬性 – info –
autoFlush – buffer – errorPage – extends – isErrorPage – language – session – isELIgnored – isThreadSafe 21
22.
include指示元素 22
23.
include指示元素 23
24.
指示元素 • 可以在web.xml中統一預設的網頁編碼、內容 類型、緩衝區大小等 24
25.
指示元素 • 可以宣告指定的JSP開頭與結尾要包括的網頁 25
26.
宣告元素 • 轉譯為Servlet中的類別成員或方法 26
27.
宣告元素 27
28.
宣告元素 • 重新定義jspInit()、jspDestroy() 28
29.
Scriptlet元素 • 轉譯為Servlet原始碼_jspService()方法 中的內容 29
30.
30
31.
運算式元素 • 運算結果將直接輸出為網頁的一部份 31
32.
32
33.
禁用Scriptlet • 如果想禁用JSP上的Scriptlet,則可以在 web.xml中設定 33
34.
註解元素 34
35.
隱含物件 • 像out、request這樣的字眼,在轉譯為 Servlet之後,會直接對應於_jspService() 中的某個區域變數 35
36.
36
37.
隱含物件 • 隱含物件只能在<%與%>之間,或<%=與%>之 間使用 • 無法在<%!與%>之間使用隱含物件 37
38.
錯誤處理 • JSP終究會轉譯為Servlet,所以錯誤可能發生 在三個時候 – JSP轉換為Servlet原始碼時 –
Servlet原始碼進行編譯時 – Servlet載入容器進行服務但發生執行時期錯誤時 38
39.
JSP轉換為Servlet原始碼時 • 容器在轉譯JSP時不知道該怎麼將那些語法轉 譯為Servlet的.java檔案 39
40.
Servlet原始碼進行編譯時 • 嘗試將.java編譯為.class檔案,如果此時編譯 器因為某個原因而無法完成編譯 40
41.
進行服務但發生執行時期錯誤時 • 在執行時期因找不到某個資源、程式邏輯上 的問題而發生錯誤 41
42.
進行服務但發生執行時期錯誤時 42
43.
errorPage屬性 43
44.
errorPage屬性 44
45.
errorPage屬性 45
46.
web.xml設定 46
47.
<jsp:include>、<jsp:forward>標籤 • 執行時期依條件動態地調整包括的JSP頁面 • 目前頁面會自己生成一個Servlet類別被包括的 add.jsp也會獨立生成一個Servlet類別 •
轉譯而成的Servlet會取得RequestDispatcher物 件,並執行include()方法 47
48.
<jsp:include>、<jsp:forward>標籤 • 將請求轉發給另一個JSP頁面作處理 • 目前頁面會生成一個Servlet,而被轉發的 add.jsp也是生成一個Servlet •
轉譯的Servlet會取得RequestDispatcher 物件,並執行forward()方法 48
49.
簡介<jsp:useBean>、<jsp:setProperty> 與<jsp:getProperty> • 搭配<jsp:useBean>的JavaBean元件 – 必須實作java.io.Serializable介面 –
沒有公開(public)的類別變數 – 具有無參數的建構式 – 具有公開的設值方法(Setter)與取值方法 (Getter) 49
50.
簡介<jsp:useBean>、<jsp:setProperty> 與<jsp:getProperty> 50
51.
51
52.
深入<jsp:useBean>、<jsp:setProperty> 與<jsp:getProperty> 52
53.
深入<jsp:useBean>、<jsp:setProperty> 與<jsp:getProperty> 53
54.
深入<jsp:useBean>、<jsp:setProperty> 與<jsp:getProperty> 54
55.
深入<jsp:useBean>、<jsp:setProperty> 與<jsp:getProperty> • 標籤的目的是減少JSP中Script的使用 • 反過來說,如果發現JSP中有Scriptlet,撰寫 的是從某個屬性範圍中取得物件 •
思考是否可以用<jsp:useBean>來消除 Scriptlet的使用 55
56.
深入<jsp:useBean>、<jsp:setProperty> 與<jsp:getProperty> • 使用PageContext的findAttribute(),從 page、request、session、application依序 找看看有無name指定的屬性名稱 • 找到的話,再透過反射機制找出JavaBean上的 setPassword()方法,呼叫並將value的指定值 設定給JavaBean 56
57.
深入<jsp:useBean>、<jsp:setProperty> 與<jsp:getProperty> • 將請求參數的值設定給JavaBean的某個屬性 • 由JSP的自省機制來判斷是否有相同的請求參 數名稱 •
自省機制自動匹配 57
58.
深入<jsp:useBean>、<jsp:setProperty> 與<jsp:getProperty> • 使用<jsp:useBean>時一併設定屬性值 58
59.
深入<jsp:useBean>、<jsp:setProperty> 與<jsp:getProperty> • 底下這個有點不同 59
60.
深入<jsp:useBean>、<jsp:setProperty> 與<jsp:getProperty> • 取得JavaBean屬性 60
61.
Model 2 61
62.
Model 2 62
63.
談談Model 1 63
64.
談談Model 1 64
65.
XML格式標籤 65
66.
66
67.
簡介EL 67
68.
簡介EL • EL優雅地處理了null值的情況,對於null 值直接以空字串加以顯示 68
69.
簡介EL • EL的點運算子還可以連續存取物件 69
70.
簡介EL • 可以使用page指示元素的isELIgnored屬 性(預設是false),來設定JSP網頁是否使 用EL • 可以在web.xml中設定<el-ignored>標籤 為true來決定不使用EL 70
71.
簡介EL • 如果 web.xml中的<el-ignored>與page指令元素 的isELIgnored設定都沒有設定 –
2.3或以下的版本,不會執行EL – 2.4或以上的版本,則會執行EL • 不設定page指令元素的isELIgnored – web.xml中的<el-ignored>為false,則會執行EL, – web.xml中的<el-ignored>為true,則不會執行EL • 使用page指令元素的isELIgnored設定是否支援 EL,則以page指令元素的設定為主 71
72.
使用EL取得屬性 • 存取屬性 • 存取陣列 72
73.
使用EL取得屬性 • 如果使用點(.)運算子,則左邊可以是 JavaBean或Map物件 • 如果使用[]運算子,則左邊可以是JavaBean、 Map、陣列或List物件 •
例如JavaBean... 73
74.
使用EL取得屬性 • 例如Map... 74
75.
使用EL取得屬性 • 當左邊是Map物件時,建議使用[]運算子, 因為如果設定Map時的鍵名稱有空白或點字 元時,這是可以正確取得值的方式 75
76.
使用EL取得屬性 • List的例子 76
77.
使用EL取得屬性 • 如果[]運算子中不是使用雙引號,則會嘗試 作運算 77
78.
使用EL取得屬性 • []中也可以進行巢狀 ... 78
79.
EL隱含物件 • pageContext隱含物件 • 屬性範圍相關隱含物件 •
請求參數相關隱含物件 • 標頭(Header)相關隱含物件 • cookie隱含物件 • 初始參數隱含物件 79
80.
EL運算子 80
81.
EL運算子 81
82.
EL運算子 82
83.
自訂EL函式 83
84.
自訂EL函式 84
85.
自訂EL函式 85
86.
綜合練習/微網誌 • 使用JSP改寫先前綜合練習中使用Servlet所實 現的視圖網頁 86
Download Now