Download presentation
Presentation is loading. Please wait.
Published by靖 穆 Modified 7年之前
1
JavaServer Faces™ 基本觀念 廖峻鋒台大資工所 July 17,2006 Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室
2
Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 JavaServer Faces™ 基本觀念 Self Intro 廖峻鋒 (try) 台大資工所博士班 SCJP / SCWCD Core JavaServer Faces 中譯本 審校人 RUN! PC 特約作者 (2006/06-2006/12 on AJAX / Java EE 5.0) E-mail: try@csie.org try@csie.org WWW: http://www.try.idv.tw/ http://www.try.idv.tw/
3
Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 JavaServer Faces™ 基本觀念 JavaServer Faces A Web Framework Standard Struts / Tapestry / Web Works… 都不是標準 Web Frameworks Server-side UI Component Model (AJAX: Client- side) Competitor with Microsoft ASP.NET’s WebForms.
4
Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 JavaServer Faces™ 基本觀念 架構選擇 (1) JSF+Spring+Hibernate Domain Objects JSP / JSTL Struts Action / View Helper Service Fa ç ade / Business Delegate Business Services and Components DAO Hibernate / JDBC Struts Spring JavaServer Faces
5
Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 JavaServer Faces™ 基本觀念 架構選擇 (2) J2EE 1.4 Service Fa ç ade / Business Delegate Stateless Session Beans / Message-Driven Beans Entity Beans EJB Container JavaServer Faces Web Container
6
Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 JavaServer Faces™ 基本觀念 架構選擇 (3) Java EE 5 Persistable POJOs Service Fa ç ade / Business Delegate Stateless Session Beans / Message-Driven Beans Java Persistence API EJB Container JavaServer Faces Web Container
7
Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 JavaServer Faces™ 基本觀念 架構選擇 (4) JSF + Spring 2.0 + JPA Persistable POJOs Service Fa ç ade / Business Delegate Java Persistence API JavaServer Faces Business Services / MD-POJOs DAO Spring
8
Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 JavaServer Faces™ 基本觀念 JSF 的 定位
9
Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 JavaServer Faces™ 基本觀念 Lab (please refer to jsf-worksheet1.pdf)
10
Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 JavaServer Faces™ 基本觀念 系統需求 JDK 1.4.1 以上 Web Application Container Servlet 2.3/JSP 1.2 以上 JSF RI
11
Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 JavaServer Faces™ 基本觀念 Adding JSF Support <web-app> Faces Servlet javax.faces.webapp.FacesServlet 1 Faces Servlet *.faces </web-app>
12
Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 JavaServer Faces™ 基本觀念 JSF’s MVC Architecture
13
Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 JavaServer Faces™ 基本觀念 Request / Response Lifecycle
14
Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 JavaServer Faces™ 基本觀念 Face Binding JSF Page Id: __________ Password:____ Submit Backing Bean class LoginForm { private String id; private String password; …… public String login(){ … } #{loginForm.id} #{loginForm.password} #{loginForm.login}
15
Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 JavaServer Faces™ 基本觀念 Face Binding (faces-config.xml) <managed-bean> loginForm loginForm com.esun.jsf.LoginForm com.esun.jsf.LoginForm session session
16
Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 JavaServer Faces™ 基本觀念 Face Binding <f:view><h:form> </h:form></f:view> .一切Tag必須含在f:view之中 .#{}代表JSF Binding, #{}中為EL (Expression Language) action / actionListener / valueChangeListener
17
Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 JavaServer Faces™ 基本觀念 Face Binding Method Bindings Method Bindings Value Change Listeners Value Change Listeners Command Actions Command Actions Action Listeners Action Listeners
18
Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 JavaServer Faces™ 基本觀念 Page Navigation JSF Page Id: __________ Password:____ Submit Login Fail … (error messages) Your Account ID: 1000001 Name: Alex Tel: 0912345678 … failure success
19
Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 JavaServer Faces™ 基本觀念 Page Navigation /login.jsp success /account.jsp failure /error.jsp
20
Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 JavaServer Faces™ 基本觀念 Dependency Injection (User Code) CustomerService customerDao LoginForm customerService CustomerDaoHibernateImpl FormFactory inject new
21
Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 JavaServer Faces™ 基本觀念 Dependency Injection (Container) CustomerService customerDao LoginForm customerService CustomerDaoHibernateImpl Container inject new Inversion of Control !
22
Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 JavaServer Faces™ 基本觀念 Face Binding (faces-config.xml) <managed-bean> loginForm loginForm com.esun.jsf.LoginForm com.esun.jsf.LoginForm session session customserService customserService #{customerService} #{customerService} <managed-bean> customserService customserService com.esun.logic.CustomerService com.esun.logic.CustomerService session session </managed-bean>
23
Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 JavaServer Faces™ 基本觀念 JSF Books JavaServer Faces in Action Core JavaServer Faces ( 有中譯本 ) Mastering JSF Oreilly JSF ( 有中譯本 ) Pro JSF and Ajax: Building Rich Internet Components
24
Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 JavaServer Faces™ 基本觀念 Backup
25
Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 JavaServer Faces™ 基本觀念 JSF 的歷史 May 30,2001 JSR-127 Mar 3, 2004 JSF 1.0 Apr 2, 2004 JSF 1.0 RI May 27, 2004 JSF 1.1
26
Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 JavaServer Faces™ 基本觀念 JSF: High-Level Overview
27
Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 JavaServer Faces™ 基本觀念 What is JavaServer Faces ? An extensible component model. A set of prefabricated UI components. An event-driven programming model.
28
Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 JavaServer Faces™ 基本觀念 Restore View
29
Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 JavaServer Faces™ 基本觀念 Apply Request Values
30
Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 JavaServer Faces™ 基本觀念 Process Validations
31
Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 JavaServer Faces™ 基本觀念 Update Model Values
32
Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 JavaServer Faces™ 基本觀念 Invoke Application
33
Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 JavaServer Faces™ 基本觀念 Render Response
Similar presentations