java web application

76
สรุปการสร้าง Java Web Application (JSF & Primefaces) Suttipong Kullawattana

Upload: suttipong-kullawattana

Post on 12-Apr-2017

38 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: Java Web Application

สรุปการสร้าง Java Web Application(JSF & Primefaces)

Suttipong Kullawattana

Page 2: Java Web Application

Knowledge

• Java

• css

• Javascript

• AJAX

• HTML

• JSF

• Primefaces UI

• DB2 , MySQL , Oracle

Page 3: Java Web Application

ขั้นตอนที่ 1 สร้างโปรเจค

Page 4: Java Web Application
Page 5: Java Web Application
Page 6: Java Web Application
Page 7: Java Web Application

ขั้นตอนที่ 2 Set Facet เพื่อเรียก Method กับ Class จากการ @ManagedBean

Page 8: Java Web Application
Page 9: Java Web Application
Page 10: Java Web Application
Page 11: Java Web Application

ขั้นตอนที่ 3 การ add Project เพื่อทดสอบการ Run เพื่อ Deploy

Page 12: Java Web Application
Page 13: Java Web Application

กรณีนี้ : ต้อง Add File Faces-Config.xml เข้ามาด้วย ถึงจะเรียกได้

Page 14: Java Web Application

ขั้นตอนที่ 4 ลบ web.xml ออกจากไฟล์ Web Resources แล้วAdd web.xml เข้ามาใน WEB-INF Folder จาก Demo Project อื่น

Page 15: Java Web Application
Page 16: Java Web Application
Page 17: Java Web Application

ขั้นตอนที่ 5 วิธีสร้าง Page xhtml โดยคลิ๊กขวาที่ WebContentFolder

Page 18: Java Web Application
Page 19: Java Web Application
Page 20: Java Web Application

ขั้นตอนที่ 6 การสร้าง UI ใน File xhtml โดยเพิ่มปุ่มเข้าไป โดยใช้ <h:commandButton>

Page 21: Java Web Application

Note : นี้คือการบอก ErrorUI ต้องอยู่ภายใต้ Tag <h:form>

Page 22: Java Web Application
Page 23: Java Web Application
Page 24: Java Web Application
Page 25: Java Web Application

ขั้นตอนที่ 7 สร้าง Class Java โดยคลิ๊กขวาที่ src folder และ import และ Add @ManagedBean เข้าไปเพื่อเรียกใช้ Service ผ่านการกดปุ่มในหน้า page1.xhtml

Page 26: Java Web Application
Page 27: Java Web Application
Page 28: Java Web Application

สามารถแก้ไขข้อความใน Block ได้ เพื่อแสดงหน้าเว็บ

Page 29: Java Web Application

กด Ctrl + Spacebar เพื่อเรียก Service

Page 30: Java Web Application
Page 31: Java Web Application
Page 32: Java Web Application

ตัวอย่างที่ 1 : การสร้างระบบลงทะเบียน โดยขั้นแรกให้สร้าง UI

(Bean Properties)

Page 33: Java Web Application
Page 34: Java Web Application
Page 35: Java Web Application
Page 36: Java Web Application
Page 37: Java Web Application

1.การใช้ Getter และ Setter เพื่อสร้าง Constructor ให้กับ Textbox ที่จะรับค่าเข้ามา (Bean Properties)

Page 38: Java Web Application
Page 39: Java Web Application

(ManagedBean Properties)

Page 40: Java Web Application

2.การสร้างส่วนควบคุมการเปลี่ยนหน้า (Action Controller Method)ตรวจสอบการกรอกและฟ้อง Error โดยให้ชี้ไปที่หน้านั้นๆ

public String doRegistration() { if(FormUtils.isAnyMissing(firstname,lastname,email)){return(“error page");} else {return(“success page");}

}

Page 41: Java Web Application

ตัวอย่างง่ายๆ การเช็คว่า Null หรือไม่ แล้วให้ชี้ไปที่หน้าเว็บนั้นๆ

Page 42: Java Web Application

สร้างหน้าแสดงผล

Page 43: Java Web Application
Page 44: Java Web Application
Page 45: Java Web Application
Page 46: Java Web Application

กรณีไม่ได้กรอกข้อมูล firstname

Page 47: Java Web Application

Ctrl + shift + T = Search Class

Page 48: Java Web Application

Ctrl + Shift + L = หาคียล์ดั

Page 49: Java Web Application

ตัวอย่างที่ 2 การสร้าง Business Logic

• Input form : business-logic.xhtml• Manage Bean (Bean Properties : Getter and Setter) : DealBean1.java• Placeholder (ตรวจสอบข้อมูล Account จากการ Map ข้อมูล)• Action Controller (Method) : neavigate-page.java• Interface & Logic Implementation (ตรวจสอบข้อมูลและโชว์ข้อมูลเงินฝาก จากการ Map ข้อมูล)• Main Result Page (แสดงผลรวม) : deal-success-1.xhtml----------------------------------------------------------------------------------------------------------------------------------• Low Balance (กรณีเงินฝากน้อย) : deal-insufficient-balance-1.xhtml• Error Missing Data (กรณีไม่พบข้อมูล) : deal-error-1.xhtml

Page 50: Java Web Application

การสร้าง Project Maven เพื่อใช้งาน Primefaces UI

• File > New > Other > Maven Project

Page 51: Java Web Application
Page 52: Java Web Application
Page 53: Java Web Application
Page 54: Java Web Application

ขั้นที่ 1 Setup Facet เพื่อเรียกใช้ JSF โดยมีไฟล์ web.xml และ Face-config.xml ติดมาด้วยในโฟลเดอร์ WEB-INF โดยคลิ๊กขวาที่โฟลเดอร์โปรเจคแล้วเลือก Properties

Page 55: Java Web Application
Page 56: Java Web Application

กรณีที่เรียกใช้ Java Server Faces ไม่ได้ สมมติไฟล์ชื่อ testPrimefaces ให้ไปเลือกเมนูแจ้งเตือนด้านล่าง แล้ว Disable Library

Page 57: Java Web Application

ขั้นที่ 2 Setup pom.xml

• เพิ่ม <dependencies> ของ JSF และ <repositories> ของ Primefaces ใน pom.xml

ภายใต้ Tag <project>

วิธีการท าเพิ่มเติม ติดตามได้ที่

• http://qussay.com/2013/09/14/create-jsf-2-2-maven-project-with-primefaces-3-5-using-eclipse/

• http://www.itcuties.com/j2ee/getting-started-with-primefaces-using-eclipse-ide-and-maven/

• http://www.primefaces.org/gettingStarted

Page 58: Java Web Application

Setup pom.xml

Page 59: Java Web Application

JSF <dependencies>

<dependencies>

<dependency>

<groupId>com.sun.faces</groupId>

<artifactId>jsf-api</artifactId>

<version>2.2.2</version>

</dependency>

<dependency>

<groupId>com.sun.faces</groupId>

<artifactId>jsf-impl</artifactId>

<version>2.2.2</version>

</dependency>

<dependency>

<groupId>javax.servlet</groupId>

<artifactId>javax.servlet-api</artifactId>

<version>3.0.1</version>

</dependency>

<dependency>

<groupId>org.primefaces</groupId><artifactId>primefaces</artifactId><version>3.5</version>

</dependency>

<dependency><groupId>org.primefaces.themes</groupId><artifactId>bootstrap</artifactId><version>1.0.9</version>

</dependency>

<dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.3</version>

</dependency> </dependencies>

Page 60: Java Web Application

Primefaces <repositories>

<repositories>

<repository>

<id>prime-repo</id>

<name>PrimeFaces Maven Repository</name>

<url>http://repository.primefaces.org</url>

<layout>default</layout>

</repository>

</repositories>

Page 61: Java Web Application
Page 62: Java Web Application
Page 63: Java Web Application

ขั้นที่ 3 Setup web.xml

<servlet>

<servlet-name>Faces Servlet</servlet-name>

<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>

<load-on-startup>1</load-on-startup>

</servlet>

<servlet-mapping>

<servlet-name>Faces Servlet</servlet-name>

<url-pattern>*.jsf</url-pattern>

</servlet-mapping>

<context-param>

<param-name>javax.faces.DEFAULT_SUFFIX</param-name>

<param-value>.xhtml</param-value>

</context-param>

<context-param>

<param-name>javax.faces.PROJECT_STAGE</param-name>

<param-value>Development</param-value>

</context-param>

Page 64: Java Web Application

ขั้นที่ 3 Setup web.xml (ต่อ)

• <context-param>

• <param-name>primefaces.THEME</param-name>

• <param-value>bootstrap</param-value>

• </context-param>

• <context-param>

• <description>State saving method: 'client' or 'server' (default). See JSF Specification section 2.5.2</description>

• <param-name>javax.faces.STATE_SAVING_METHOD</param-name>

• <param-value>server</param-value>

• </context-param>

Page 65: Java Web Application
Page 66: Java Web Application

ขั้นที่ 4 การทดสอบโดยสร้างหน้า index.xhtml แล้ว import xmlns:p="http://primefaces.org/ui" และเพิ่ม Tag <p:spinner> เข้าไป

Page 67: Java Web Application

ทดสอบกับ Apache Tomcat Server

Page 68: Java Web Application
Page 69: Java Web Application
Page 70: Java Web Application
Page 71: Java Web Application

ตัวอย่าง : การทดสอบ AJAX กับ Server ด้วย JSF

• สร้างเหตุการณ์ด้วย <f:ajax> เพื่อดักจับเหตุการณ์ โดยใช้ rendered ใน Tag Ajax อ้างถึง id ใน <h:outputText>

• สร้าง Bean Properties ใน Java Class และใช้ Getter และ Setter เพื่อสร้าง Constructor

• ทดสอบการเรียกข้อความ

Page 72: Java Web Application
Page 73: Java Web Application
Page 74: Java Web Application
Page 75: Java Web Application
Page 76: Java Web Application

ยิง Ajax ขึ้น Server 1 ครั้ง ผ่านปุ่ม