java web application

Post on 12-Apr-2017

38 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

Suttipong Kullawattana

Knowledge

• Java

• css

• Javascript

• AJAX

• HTML

• JSF

• Primefaces UI

• DB2 , MySQL , Oracle

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

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

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

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

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

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

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

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

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

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

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

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

(Bean Properties)

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

(ManagedBean Properties)

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

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

}

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

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

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

Ctrl + shift + T = Search Class

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

ตัวอย่างที่ 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

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

• File > New > Other > Maven Project

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

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

ขั้นที่ 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

Setup pom.xml

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>

Primefaces <repositories>

<repositories>

<repository>

<id>prime-repo</id>

<name>PrimeFaces Maven Repository</name>

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

<layout>default</layout>

</repository>

</repositories>

ขั้นที่ 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>

ขั้นที่ 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>

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

ทดสอบกับ Apache Tomcat Server

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

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

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

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

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

top related