Presentation is loading. Please wait.

Presentation is loading. Please wait.

Web applications using JavaServer Faces (JSF) A brief introduction 1JavaServer Faces (JSF)

Similar presentations


Presentation on theme: "Web applications using JavaServer Faces (JSF) A brief introduction 1JavaServer Faces (JSF)"— Presentation transcript:

1 Web applications using JavaServer Faces (JSF) A brief introduction 1JavaServer Faces (JSF)

2 What is JavaServer Faces (JSF)? Framework for web applications – Works on the server side Part of Java Enterprise Edition – Runs on an application server with a JSF container Example: GlassFish 2JavaServer Faces (JSF)

3 Some web technologies Client-side technologies (X)HTML JavaScript Cascading Styles Sheets (CSS) Java Applets Server-side technologies Java Servlets JavaServer Pages (JSP) JavaServer Faces (JSF) PHP Microsoft ASP.NET web forms 3JavaServer Faces (JSF)

4 JSF Pages JSF Pages look like HTML pages Application server translates JSF Pages to HTML pages – The HTML is then send to the client (browser) The translation is dynamic – Depends on the state of Java objects JSF Managed Beans Syntax: #{beanName.propertyName} 4JavaServer Faces (JSF)

5 NetBeans support 5JavaServer Faces (JSF)

6 JSF managed beans Value expression – #{beanName.propertyName} – Invokes a method on a Java object Called a JSF managed bean JavaBeans controlled by JSF Example: showTime 6JavaServer Faces (JSF)

7 JavaBeans No-arguments constructor Properties – Get + set methods – Public type getPropertyName() – Public void setPropertyName(Type newValue) – Can be read-only No set method, only a get method Other methods Implements java.io.Serializable The model component in the Model-View-Controller architecture (MVC) Example: showTime -> TimeBeans 7JavaServer Faces (JSF)

8 Scope of managed beans Who can access a bean – and for how long? @RequestScoped – Available throughout a single HTTP request. – Survives forwarding to another page @SessionScoped – Stored in the HTTP session – Each user has a HTTP session – Time out – Example: Shopping cart – Examples from “Big Java” uses only @SessionScoped @ApplicationScoped – Available throughout the life of the application – Accessible to all users and all pages Example: counters2 8JavaServer Faces (JSF)

9 Separation of concerns: Presentation and Business Logic Presentation – User interface – JSF Page Also known as Facelet – Made by graphics designers Business logic – Rules for business decisions – JSF managed JavaBean – Made by Java programmers 9JavaServer Faces (JSF)

10 Navigation between pages Command button – – Example: personalInfo – Action can be a static name, or a method expression Action=”#{bean.method}” The method produces a String depending on the bean object’s state – The name of the page to navigate to – Similar 10JavaServer Faces (JSF)

11 JSF components JSF components are translated into HTML elements using value expressions Example – Examples: – personalInfo 11JavaServer Faces (JSF)

12 Validators: Checking the users input Required field – The input field cannot be left empty – Minimum length of a text input Range of an number input You can make your own validators – To validate the structure of an email address, etc. JavaServer Faces (JSF)12

13 Three-tier applications Presentation tier – Browser Business logic tier – JSF Container JSF pages + managed beans Managed beans can make connections to a database Storage tier – Database Management System (DBMS) Database 13JavaServer Faces (JSF)

14 JSF using MVC But where is the controller? Model – JSF managed beans View – JSF page Controller – Javax.faces.webapp.FacesServlet http://download.oracle.com/javaee/6/api/javax/faces/weba pp/FacesServlet.html http://download.oracle.com/javaee/6/api/javax/faces/weba pp/FacesServlet.html – Reads WEB-INF/web.xml from the project – Dispatches the request to the right JSF page 14JavaServer Faces (JSF)

15 Declarative programming A program that describes what computation should be performed and not how to compute it. – http://en.wikipedia.org/wiki/Declarative_programming Examples: – SQL, executed by a DBMS – HTML + CSS, executed by a web browser – @Named(value = "user") + @SessionScoped Executed by a JSF container (application server) 15JavaServer Faces (JSF)

16 References and further readings Horstmann: Big Java 4th edition, Wiley 2010 – Chapter 23 Web Applications, page 925-955 The Java EE 6 Tutorial, Part III The Web Tier – http://docs.oracle.com/javaee/7/tutorial/doc/partwebtier.htm http://docs.oracle.com/javaee/7/tutorial/doc/partwebtier.htm Geary & Horstmann: Core JavaServer Faces, 3 rd edition, Prentice Hall 2010 Burns & Schalk: JavaServer Faces 2.0: The Complete Reference, McGraw-Hill 2011 Hall: JSF 2.0 Tutorials, ${coreservlets.com} – http://www.coreservlets.com/JSF-Tutorial/jsf2/ JSF 2.0 Support in NetBeans IDE – http://netbeans.org/kb/docs/web/jsf20-support.html#jsfPages http://netbeans.org/kb/docs/web/jsf20-support.html#jsfPages 16JavaServer Faces (JSF)


Download ppt "Web applications using JavaServer Faces (JSF) A brief introduction 1JavaServer Faces (JSF)"

Similar presentations


Ads by Google