推介服務:課堂錄影隨時睇
(在家觀看 = 0%,在校觀看 = 100%)
(在家觀看 = 0%,在校觀看 = 100%)
100% 在校觀看日期及時間:
自由選擇,點選以下地區觀看辦公時間及位置
不限:$2,980 (地點沒有限制)報名
課時: 18 小時
享用時期: 6 星期。進度由您控制,可快可慢。
課堂錄影導師:Franco
在校免費試睇:首 1 小時,請致電以上地點與本中心職員預約。
本課程提供在校免費重睇及導師解答服務。
推介服務:課堂錄影隨時睇
(在家觀看 = 100%,在校觀看 = 0%)
(在家觀看 = 100%,在校觀看 = 0%)
100% 在家觀看日期及時間:
每天 24 小時全天候不限次數地觀看
學費:$2,980 報名 phone
電話:2332-6544
課時: 18 小時
享用時期: 6 星期。進度由您控制,可快可慢。
課堂錄影導師:Franco
在校免費試睇:首 1 小時,請致電以上地點與本中心職員預約。
本課程提供導師解答服務。
J2EE (Java 2 Platform, Enterprise Edition) 自從 1999 年面世以來不斷發展,發展成今天的 Java EE (Java Platform, Enterprise Edition)。Java EE 提供開發人員一個豐富的平台以開發動態網頁、Web Services 等企業應用軟件 (Enterprise Applications)。
Java EE 平台包括
- Bean Validation
- Common Annotations for the Java Platform
- Contexts and Dependency Injection for the Java EE Platform
- Dependency Injection for Java
- Enterprise JavaBeans (EJB)
- Interceptors
- Java API for JSON Processing (JSON-P)
- Java API for RESTful Web Services (JAX-RS)
- Java API for WebSocket (WebSocket)
- Java Persistence API (JPA)
- Java Transaction API (JTA)
- JavaServer Faces (JSF)
- JavaServer Pages Standard Tag Library (JSTL)
- JavaServer Pages (JSP)
- Managed Beans
- Servlet
- Unified Expression Language (EL)
- …
Java EE 亦有不少 frameworks 可以選用,當中包括
- Hibernate
- JavaServer Faces (JSF)
- Spring
- Struts / Struts 2
- Tapestry
本課程是我們其中一個 Java EE 的深造課程,本深造課程旨在教授 Java EE 中的 Struts 1.x 和 Struts 2.x。
Apache 軟體基金會在 2000 年 5 月發佈 Struts 的初始版本,這可謂 Java EE 領域中的第一個 MVC (Model-View-Controller) 的應用框架 (application framework),由於已經發佈了一段時間,故此使用的企業及個人已經累積了一定的數目,社群十分活躍。
本課程旨在教授 Struts 框架內的元件及元件之間的關係,學會後就無需使用大量 if, else, switch, 等笨拙的邏輯編寫程式,大家能更具結構、更簡潔優雅地實踐以下的功能。
- 狀態管理
- 資料傳遞
- 流程控制
- 應用物件
- 資料庫操作
- 用戶登入驗證
- 用戶輸入驗證
- 顯示訊息
- 國際化 (支援多國語言)
- 檔案上傳
- 例外情況處理
導師會設計一系列的實習從而令同學能有效學習和實踐所學。學堂內用作示範的程式碼亦以模組化的理念編寫出來,模組化的程式碼能令同學將來使用 Struts 時能夠透過靈活組合不同的模組而編寫程式,從而提升效率。
課程名稱: |
Java EE 程式編寫深造課程 (主要教授 Struts 1.x 和 Struts 2.x) - 簡稱:Java EE Training Course (Advanced) |
課程時數: | 18 小時 (共 6 堂) |
適合人士: | 必要的背景知識:
非必要的背景知識:
|
授課語言: | 以廣東話為主,輔以英語 |
課程筆記: | 本中心導師親自編寫中文為主筆記,而部份中文字附有英文對照。 |
課程名稱:Java EE 程式編寫深造課程 (主要教授 Struts 1.x 和 Struts 2.x) - 簡稱:Java EE Training Course (Advanced) |
1 事前準備
1.1 電腦
1.2 準備編寫及執行 Java EE 軟件的環境
1.3 準備資料庫 (Database)
2 Struts 1.x
2.1 Struts 介紹
2.2 Struts 1 起步
2.2.1 實習:第一個 Struts 1 程式 (Simple Redirection)
2.3 Struts 1 基礎
2.3.1 Struts 1 元件間的互動
2.3.1.1 情景
2.3.1.2 總圖
2.3.1.3 元件
2.3.1.3.1 francoHello.jsp (Input Resource)
2.3.1.3.2 FrancoHelloForm.java (org.apache.struts.action.ActionForm)
2.3.1.3.3 struts-config.xml
2.3.1.3.4 FrancoHelloAction.java (org.apache.struts.action.Action)
2.3.1.3.5 francoHelloSuccess.jsp
2.3.1.4 實習:Struts1 元件間的互動
2.3.1.4.1 第一部份:事前準備
2.3.1.4.2 第二部份:Input Resource
2.3.1.4.3 第三部份:ActionForm (org.apache.struts.action.ActionForm)
2.3.1.4.4 第四部份:Action (org.apache.struts.action.Action)
2.3.1.4.5 第五部份:struts-config.xml
2.3.1.4.6 第六部份:francoHelloSuccess.jsp
2.3.1.4.7 第七部份:welcome file
2.3.1.4.8 第八部份:測試
2.3.2 Cancel 按鈕
2.3.2.1 實習:Cancel 按鈕
2.3.3 預設值
2.3.3.1 實習:預設值
2.3.4 Request scope vs session scope
2.3.4.1 實習:Request scope vs session scope
2.3.5 Forward vs redirect
2.3.5.1 Forward
2.3.5.2 Redirect
2.3.5.3 實習:Forward vs redirect
2.3.6 Multiple forwards
2.3.6.1 實習:Multiple forwards
2.3.7 處理更多樣化的輸入 (html:text, html:radio, html:checkbox, 日期)
2.3.7.1 實習:處理更多樣化的輸入 (html:text, html:radio, html:checkbox, 日期)
2.4 輸入驗證 (input validation)
2.4.1 基本輸入驗證 (Basic input validation)
2.4.1.1 實習:基本輸入驗證 (Basic input validation)
2.4.2 使用 validation.xml 進行輸入驗證
2.4.2.1 實習:使用 validation.xml 進行輸入驗證
2.5 POJO in ActionForm (org.apache.struts.action.ActionForm)
2.5.1 實習:POJO in ActionForm (org.apache.struts.action.ActionForm)
2.5.2 實習:基於 POJO 上新增更多的項目及 <html:hidden>
2.6 取得來源 IP address、端口、目的地IP address及端口
2.6.1 實習:取得來源 IP address、端口、目的地IP address及端口
2.6.2 實習:取得來源 IP address、端口、目的地IP address及端口 (無 input resource)
2.7 Struts1 與資料庫互動
2.7.1 實習:事前準備
2.7.2 實習:準備資料庫、JPA 及測試用的 Servlet
2.7.3 實習:CRUD:R
2.7.4 實習:建立用作新增及更新記錄的 edit.jsp
2.7.5 實習:CRUD:C
2.7.6 實習:CRUD:U
2.7.7 實習:CRUD:D
2.7.8 實習:刪除前的確認視窗
2.8 例外處理 (Exception handling)
2.8.1 實習:第一部份:產生例外情況 (Exceptions)
2.8.2 實習:第二部份:處理例外情況 (Exceptions)
2.9 用戶登入驗證
2.9.1 實習:第一部份:事前準備
2.9.2 實習:第二部份:製作基本的登入元件
2.9.3 實習:第三部份:顯示登入狀態
2.9.4 實習:第四部份:透過登入狀態以進行存取限制
2.9.5 實習:第五部份:處理登出機制
2.10 國際化 (多國語言支援)
2.10.1 實習:第一部份:事前準備
2.10.2 實習:第二部份:DispatchAction
2.10.3 實習:第三部份:準備不同語言的 properties 檔
2.10.4 實習:第四部份:struts-config.xml
2.10.5 實習:第五部份:測試
2.11 DynaActionForm (org.apache.struts.action.DynaActionForm)
2.11.1 實習:基本 DynaActionForm
2.11.2 實習:為 DynaActionForm 上的 form-property 設定預設值
2.12 上傳檔案
2.12.1 實習:第一部份:事前準備
2.12.2 實習:第二部份:input resources
2.12.3 實習:第三部份:ActionForm (org.apache.struts.action.ActionForm)
2.12.4 實習:第四部份:Action (org.apache.struts.action.Action)
2.12.5 實習:第五部份:web.xml
2.12.6 實習:第六部份:測試
3 Struts 2.x
3.1 安裝 Struts 2 Plugin
3.1.1 實習:安裝 Struts 2 Plugin
3.2 struts.xml 的位置及 filter-class
3.2.1 實習:設定 struts.xml 的位置
3.2.2 實習:filter-class
3.3 Struts 2 基礎
3.3.1 Struts2 元件間的互動
3.3.1.1 情景
3.3.1.2 總圖
3.3.1.2.1 index.jsp / index.html (Input Resource)
3.3.1.2.2 FrancoHelloAction.java (com.opensymphony.xwork2.ActionSupport)
3.3.1.2.3 struts.xml
3.3.1.2.4 francoHelloSuccess.jsp
3.3.1.3 實習:Struts2 元件間的互動
3.3.1.3.1 實習:第一部份:事前準備
3.3.1.3.2 實習:第二部份:index.jsp (Input Resource)
3.3.1.3.3 實習:第三部份:ActionSupport (com.opensymphony.xwork2.ActionSupport)
3.3.1.3.4 實習:第四部份:struts.xml
3.3.1.3.5 實習:第五部份:顯示結果 (francoHelloSuccess.jsp)
3.3.1.3.6 實習:第六部份:測試
3.3.2 Custom namespace
3.3.2.1 實習:Custom namespace
3.3.3 擺脫 ActionSupport, return “yes” 及自行實作 Action
3.3.3.1 實習:擺脫 ActionSupport
3.3.3.2 實習:return “yes”
3.3.3.3 實習:自行實作 Action
3.3.4 接收及顯示用戶的輸入
3.3.4.1 實習:第一部份:事前準備
3.3.4.2 實習:第二部份:index.jsp (Input Resource)
3.3.4.3 實習:第三部份:ActionSupport (com.opensymphony.xwork2.ActionSupport)
3.3.4.4 實習:第四部份:struts.xml
3.3.4.5 實習:第五部份:顯示結果 (francoHelloSuccess.jsp)
3.3.4.6 實習:第六部份:測試
3.3.5 將整張表單放置在 ActionContext 內
3.3.5.1 實習:將整張表單放置在 ActionContext 內
3.3.6 Request scope, session scope and application scope
3.3.6.1 實習:Request scope
3.3.6.2 實習:Session scope
3.3.6.3 實習:Application scope
3.3.7 取得 IP addresses, ports 等資料
3.3.7.1 實習:取得 IP addresses, ports 等資料
3.3.8 Dynamic method invocation
3.3.8.1 實習:Dynamic method invocation
3.3.9 ModelDriven Class
3.3.9.1 實習:ModelDriven Class
3.3.10 Textbox, Radio buttons 與 Checkboxes
3.3.10.1 實習:Textbox, Radio buttons 與 Checkboxes
3.3.11 Conversion
3.3.11.1 實習:Conversion (Integer)
3.3.11.2 實習:Conversion (java.util.Date) with custom convertor
3.4 Interceptors
3.4.1 Interceptor 的原理
3.4.2 實習:新增 Interceptor 並了解它的執行時間
3.4.3 實習: Interceptor parameters
3.4.4 實習:Method filters
3.5 用戶登入驗證
3.5.1 實習:第一部份:事前準備
3.5.2 實習:第二部份:建立代表登入用戶的模型 (Model)
3.5.3 實習:第三部份:處理用戶登入
3.5.4 實習:第四部份:Interceptors
3.5.5 實習:第五部份:測試
3.6 輸入驗證 (input validation)
3.6.1 validate()
3.6.1.1 實習:validate()
3.6.1.2 實習:validate() [內含 field names]
3.6.2 validation.xml
3.6.2.1 實習:validation.xml
3.6.2.2 更多的例子
3.7 國際化 (多國語言支援)
3.7.1 實習:國際化 (多國語言支援)
3.8 Struts Tags
3.8.1 <s:textfield> 和 <s:text>
3.8.1.1 實習:<s:textfield> 和 <s:text>
3.8.2 <s:if>, <s:elseif> 和 <s:else>
3.8.2.1 實習:<s:if>, <s:elseif> 和 <s:else>
3.8.3 <s:iterator> 和 <s:property>
3.8.3.1 實習:<s:iterator> 和 <s:property>
3.8.4 <s:generator> 和 <s:iterator>
3.8.4.1 實習:<s:generator> 和 <s:iterator>
3.8.5 <s:action>
3.8.5.1 實習:<s:action>
3.8.6 <s:bean>
3.8.6.1 實習:<s:bean> 之簡單的 JavaBeans
3.8.6.2 實習:<s:bean> 之具邏輯的 JavaBeans
3.8.7 <s:date>
3.8.7.1 實習:<s:date>
3.9 上傳檔案
3.9.1 實習:第一部份:顯示上傳檔案的資料
3.9.2 實習:第二部份:將上傳檔案的存放到合適的地方
3.9.3 實習:第三部份:為上傳的檔案加上限制
3.9.4 實習:第四部份:自行定義錯誤訊息
3.10 Struts2 與資料庫互動
3.10.1 實習:事前準備
3.10.2 實習:入口
3.10.3 實習:準備資料庫、JPA 及測試用的 Servlet
3.10.4 實習:CRUD:R
3.10.5 實習:建立用作新增及更新記錄的 edit.jsp
3.10.6 實習:CRUD:C
3.10.7 實習:CRUD:U (第一部份)
3.10.8 實習:CRUD:U (第二部份)
3.10.9 實習:CRUD:D
3.10.10 實習:刪除前的確認視窗
3.11 例外處理 (Exception handling)
3.11.1 實習:第一部份:拋出例外情況
3.11.2 實習:第二部份:處理例外情況
4 附錄1: Git
4.1 版本控制的概念
4.2 安裝Git
4.3 處理具有 git 的實習檔案
4.3.1 了解是否具有git 版本管理
4.3.2 Git Bash
4.3.3 檢視所有版本
4.3.4 檢查目前的 Java EE project是不是 clean
4.3.5 前往過去的版本
4.4 故障排除 (Troubleshooting)
4.4.1 情況1
4.4.2 情況2
4.4.3 一般的解決方法
4.5 git clone 與 bare repository