Presentation is loading. Please wait.

Presentation is loading. Please wait.

JavaServer Faces™ 基本觀念 廖峻鋒台大資工所 July 17,2006 Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室.

Similar presentations


Presentation on theme: "JavaServer Faces™ 基本觀念 廖峻鋒台大資工所 July 17,2006 Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室."— Presentation transcript:

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 Faces Servlet javax.faces.webapp.FacesServlet 1 Faces Servlet *.faces

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) loginForm loginForm com.esun.jsf.LoginForm com.esun.jsf.LoginForm session session

16 Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 JavaServer Faces™ 基本觀念 Face Binding .一切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) loginForm loginForm com.esun.jsf.LoginForm com.esun.jsf.LoginForm session session customserService customserService #{customerService} #{customerService} customserService customserService com.esun.logic.CustomerService com.esun.logic.CustomerService session session

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


Download ppt "JavaServer Faces™ 基本觀念 廖峻鋒台大資工所 July 17,2006 Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室."

Similar presentations


Ads by Google