Trang hin th ch ngi i vòng thi đu nào

Một phần của tài liệu Nghiên cứu công nghệ Oracle 9IAS wireless và viết ứng dụng minh họa (Trang 118)

<%=nations.get(i)%> </SimpleMenuItem> <% } %> </SimpleMenu> </SimpleContainer> </SimpleResult>

5.1.4.2 Trang hi n th ch n gi i vòng thi đ u nào Round.jsp Round.jsp

Input: ID quôc gia

Output: Các vòng thi đ u c a qu c gia đó (đ y sang trang Result.jsp)

<-- nh d ng XML-->

<?xml version = “1.0” encoding = “UTF-8” standalone=”yes” ?>

<--S d ng Java Bean: FootballInfo-->

<jsp:useBean id=”footbalInfo” class=”info.FootbalInfo” scope=”session” /> <%@ page import=”java.util.*” %>

<--Ph n thân ch ng trình-->

<SimpleResult> <SimpleContainer>

Oracle 9i AS Wireless Edition GVHD: ThS. Hoàng C ng

SVTH: Tr n Thanh Nhân – Nguy n Qu c Chính Trang 118

<SimpleTextItem>

Footbal Result Information </SimpleTextItem>

<SimpleMenu> <%

//L y ID qu c gia t Football.jsp g i qua

String nid = request.getParameter(“NID”);

//L y các vòng thi đ u c a qu c gia trên

ArrayList rounds = footbalInfo.getRound(nid); int noOfrounds = rounds.size();

for (int i=0; i<noOfrounds; i++){ String temp=

“Result.jsp?ROUND=”+rounds.get(i)+”&anp;NID=”+nid; %>

//Hi n ra màn hình các vòng thi đ u d i d ng Link

<SimpleMenuItem target=”<%=temp%>”> Round <%=rounds.get(i)%> </SimpleMenuItem> <% } %> </SimpleMenu> </SimpleContainer> </SimpleResult> 5.1.4.3 Trang hi n th k t qu Result.jsp

Input: Vòng thi đ u và ID c a qu c gia Output: K t qu thi đ u

<?xml version = "1.0" encoding = "UTF-8" standalone="yes" ?>

<jsp:useBean id="footbalInfo" class="info.FootbalInfo" scope="session" /> <%@ page import="java.util.*" %>

<SimpleResult> <SimpleContainer>

<SimpleTextItem>

Footbal Result Information </SimpleTextItem>

<% (adsbygoogle = window.adsbygoogle || []).push({});

//L y ID qu c gia, vòng thi đ u t Round.jsp g i qua String nid = request.getParameter("NID");

String round = request.getParameter("ROUND");

Oracle 9i AS Wireless Edition GVHD: ThS. Hoàng C ng

SVTH: Tr n Thanh Nhân – Nguy n Qu c Chính Trang 119

ArrayList results = footbalInfo.getResult(round,nid); int noOfresults = results.size();

for (int i=0; i<noOfresults; i++){ %> //Hi n k t qu ra màn hình <SimpleTextItem> <%=results.get(i)%> </SimpleTextItem> <SimpleBreak/> <% } %> </SimpleContainer> </SimpleResult>

5.1.4.4 File Class dùng trong java bean đ c biên d ch t file .java sau FootbalInfo.java FootbalInfo.java package info; // Sql Imports import java.sql.Connection; import java.sql.SQLException; import java.sql.ResultSet; import java.sql.PreparedStatement; import java.sql.DriverManager; // Util Imports import java.util.ArrayList; public class FootbalInfo{

private Connection conn = null;

//k t n i vào c s d li u Oracle

private void getConnection() throws Exception{ if (conn == null){

String dbString = new String("jdbc:oracle:thin:@chinh.oaswe.local:1521:GDB"); Class.forName("oracle.jdbc.driver.OracleDriver");

conn = DriverManager.getConnection(dbString,"scott","tiger"); }

}

// óng k t n i

private void closeConnection() throws SQLException{ if (conn != null){

conn.close(); conn = null; }

Oracle 9i AS Wireless Edition GVHD: ThS. Hoàng C ng

SVTH: Tr n Thanh Nhân – Nguy n Qu c Chính Trang 120

//L y tên các qu c gia t c s d li u

public ArrayList getNation() throws Exception{ ArrayList nation = new ArrayList(3);

this.getConnection(); PreparedStatement pstmt =

conn.prepareStatement("SELECT Name, LeageName FROM Nation "); ResultSet rset = pstmt.executeQuery();

String Name = null; String LeageName = null; while (rset.next()){ Name = rset.getString(1); LeageName = rset.getString(2); nation.add(LeageName + " (" + Name + ")"); } rset.close(); pstmt.close(); return nation; } //L y ID các qu c gia t c s d li u

public ArrayList getNationID() throws Exception{ ArrayList nationid = new ArrayList(3);

this.getConnection(); PreparedStatement pstmt =

conn.prepareStatement("SELECT NationId FROM Nation "); ResultSet rset = pstmt.executeQuery();

String NationId = null; while (rset.next()){ NationId = rset.getString(1); nationid.add(NationId); } rset.close(); pstmt.close(); return nationid; } //L y các vòng thi đ u c a m t qu c gia t c s d li u

public ArrayList getRound(String nid) throws Exception{ ArrayList rounds = new ArrayList(40); (adsbygoogle = window.adsbygoogle || []).push({});

this.getConnection(); PreparedStatement pstmt =

conn.prepareStatement("SELECT DISTINCT Round FROM Result WHERE LOWER(TRIM(NationId))"

+ " = LOWER(TRIM(?))" + "ORDER BY Round DESC"

); pstmt.setString(1, nid);

Oracle 9i AS Wireless Edition GVHD: ThS. Hoàng C ng

SVTH: Tr n Thanh Nhân – Nguy n Qu c Chính Trang 121

String Round = null; while (rset.next()){ Round = rset.getString(1); rounds.add(Round); } rset.close(); pstmt.close(); return rounds; } //L y k t qu thi đ u c a m t vòng lo i t c s d li u

public ArrayList getResult(String round,String nid) throws Exception{ ArrayList results = new ArrayList(10);

this.getConnection(); PreparedStatement pstmt =

conn.prepareStatement("SELECT Club1,Goal1,Goal2,Club2 FROM Result WHERE LOWER(TRIM(Round))" + " = LOWER(TRIM(?))AND LOWER(TRIM(NationId))" + " = LOWER(TRIM(?))" ); pstmt.setString(1, round); pstmt.setString(2, nid);

ResultSet rset = pstmt.executeQuery(); String Club1 = null;

String Club2 = null; String Goal1 = null; String Goal2 = null; while (rset.next()){

Club1 = rset.getString(1);

Goal1 = rset.getString(2); Goal2 = rset.getString(3);

Club2 = rset.getString(4);

results.add(Club1 + " " + Goal1 + ":" + Goal2 + " " + Club2); } rset.close(); pstmt.close(); this.closeConnection(); return results; } } 5.1.5T o Master Service

Oracle 9i AS Wireless Edition GVHD: ThS. Hoàng C ng

SVTH: Tr n Thanh Nhân – Nguy n Qu c Chính Trang 122 login đ c vào tool này thì tr c tiên ta ph i start component Internet Directory trong cluster Infrastructure mà ta đã cài đ t vì chính component này s ki m tra quá tr nh đ ng nh p c a ng i s d ng. Username default là orcladmin và password là password mà ta nh p trong quá trình cài đ t.

Mu n start đ c internet directory thì ta ph i login vào Manager Server : http://hostname:1810. Username default là ias-admin và password là password mà ta nh p trong quá trình cài đ t.

Ch n tab Service Designer

Hình 5.1.5.1: Màn hình Service Designer

Click vào nút Create Master Service đ t o master service

Oracle 9i AS Wireless Edition GVHD: ThS. Hoàng C ng

SVTH: Tr n Thanh Nhân – Nguy n Qu c Chính Trang 123

Nh p m t s thông tin

Ü Name : Tên c a master service.

Ü Description : di n gi i cho master service (adsbygoogle = window.adsbygoogle || []).push({});

Ü Adapter : là combo box cho ta ch n các lo i adapter Ü Check box :

Valid : m hay t t master service

Modulable : t o master theo ki u module

Location Dependent : t o master service theo d ng ph thu c vào v trí. Ü Region Name: tên c a vùng v trí .

Ü Menu Icon URI : đ a ch ch a icon cho menu Ü Title Icon URI : đa ch ch a icon cho title

Ü Menu Audio URI : đa ch ch a file audio cho menu Ü Title Audio URI : đ a ch ch a file audio cho title Ü Sequence : s th t các master service

Click Next đ qua b c 2

Oracle 9i AS Wireless Edition GVHD: ThS. Hoàng C ng

SVTH: Tr n Thanh Nhân – Nguy n Qu c Chính Trang 124 B c này có check box cho phép ta t o master service mà wireless service có th cache l i. N u ta ch n vào check box này thì webtool s hi n th cho ta ch n c u hình ngày gi cho vi c cache . N u ta không ch n check box này thì v i các yêu c u t i master service này thì wireless server ph i x lí và tr l i k t qu . Nh v y vi c cache l i làm gi m s vi c ph i x lí cho wireless server, làm t ng t c đ nh ng nó c ng có nh ng m t h n ch : M i l n s a đ i trên master service thì ta phãi ch nh l i ngày gi cache đ vi c thay đ i m i này đ c đ a vào s d ng.

Click Next đ qua b c 3

Oracle 9i AS Wireless Edition GVHD: ThS. Hoàng C ng

SVTH: Tr n Thanh Nhân – Nguy n Qu c Chính Trang 125 b c này ta có th t o các tham s kh i t o (n u c n thi t ). Ta c ng có th b qua b c này.

Click Next đ qua b c 4

Hình 5.1.5.3: Màn hình Create Master Service:Caching

Oracle 9i AS Wireless Edition GVHD: ThS. Hoàng C ng

SVTH: Tr n Thanh Nhân – Nguy n Qu c Chính Trang 126 Ü URL : là đa ch link t i n i ch a file ng d ng mà ta mu n tri n khai

Ü REPLACE_URL : cho phép cho vi c có thay th đ a ch URL hay không Ü FORM_METHOD : là HTTP method đ c dùng b i adapter

Ü INPUT_ENCODING : mã hóa d li u đ u vào .

Trong ví d trong tr ng URL trên ta th y : “/examples/Flight.jsp” . i u này có ngh a là http://hostname:port/examples/Flight.jsp và dòng “http://hostname:port” này là đa ch default . Ta có th thay đ i đa ch này cho phù h p v i n i đ t các

ng d ng, b ng cách hi u ch nh trong Management Server (http://hostname:1810)

Click Next đ qua b c 5

i v i ng d ng này ta không c n các tham s output nên ta b qua b c này Ch có các ng d ng module thì m i c n đ n các tham s output này.

Click Next đ qua b c 6

Hình 5.1.5.4: Màn hình Create Master Service:Async Agent

b c này ta có th check vào check box Async-Agent Enable đ cho phép ng d ng c a ta không nh ng đ c truy c p t HTTP request mà còn có th truy c p đ n ng d ng b ng email hay nh n tin (SMS).

Click Next đ qua b c 7

(adsbygoogle = window.adsbygoogle || []).push({});

Oracle 9i AS Wireless Edition GVHD: ThS. Hoàng C ng

SVTH: Tr n Thanh Nhân – Nguy n Qu c Chính Trang 127

Click Finish đ t o master service

5.1.6 T o Service

Ch n tab Content Manager

Ta có th t o Folder riêng cho sevice s a ng d ng này . Vào Folder ta m i t o.

Hình 5.1.6.1: Màn hình Content Manager

Nh n nút Add Serviceđ t o service m i .

Oracle 9i AS Wireless Edition GVHD: ThS. Hoàng C ng

SVTH: Tr n Thanh Nhân – Nguy n Qu c Chính Trang 128 b c th nh t này ta c n đi n vào m t s thông tin sau :

(các m c có d u * là m c mà ta b t bu c ph i đi n vào) Ü Service Name : tên c a service

Ü Description : di n gi i cho sevice name Ü Sequence : s sequence cho service Ü Cost : giá thành c a service

Ü Menu Icon URI : đ a ch ch icon cho menu Ü Title Icon URI : đa ch ch icon cho title

Ü Menu Audio URI : đa ch ch file audio cho menu Ü Title Audio URI : đ a ch ch file audio cho title Ü Region Name : tên c a vùng v trí .

Ü Check box :

X Visible : cho phép n hay hi n

X Personalizable : cho phép personalization X Type

• Normal : service thu c d ng bình th ng

• Module : service thu c d ng module

Click Next đ qua b c 2

Oracle 9i AS Wireless Edition GVHD: ThS. Hoàng C ng

SVTH: Tr n Thanh Nhân – Nguy n Qu c Chính Trang 129 b c này ta ch n Master Service cho service. Ta vào Folder c a master service mà ta đã t o b c tr c, và ch n vào radio box c a master service .

Click Next đ qua b c 3

Oracle 9i AS Wireless Edition GVHD: ThS. Hoàng C ng

SVTH: Tr n Thanh Nhân – Nguy n Qu c Chính Trang 130 b c này ta xác đnh l i các thông tin mà ta đã nh p trong lúc t o master service. Ü URL : là đa ch link t i n i ch a file ng d ng mà ta mu n tri n khai

Ü REPLACE_URL : cho phép cho vi c có thay th đ a ch URL hay không Ü FORM_METHOD : là HTTP method đ c dùng b i adapter

Ü INPUT_ENCODING : mã hóa d li u đ u vào . (adsbygoogle = window.adsbygoogle || []).push({});

Click Next đ qua b c 4

Hình 5.1.6.4: Màn hình New Service:Async Service

b c này ta xác nh n l i thông tin cho Async Service (Async Service giúp cho ta có th truy c p đ n ng d ng thông qua HTTP hay email hay SMS). Nh ng ng d ng này lúc t o master service ta đã không check vào check box Async Agent (cho phép s d ng Async Agent ) b c th 6 nên ta có th b qua b c này.

5.1.7 Test ng d ng

5.1.7.1 Test ng d ng t webtool c a Oracle 9iAS

T Service Designer ta tìm master service có tên là Footbal Information. Khi th y master service này ta click vào bi u t ng chi c đi n tho i c t Test, ta s nh n đ c màn hình có công c test PDASimulator sau :

Oracle 9i AS Wireless Edition GVHD: ThS. Hoàng C ng

SVTH: Tr n Thanh Nhân – Nguy n Qu c Chính Trang 131 Ta ch n vào menu Prieme Ship (England) đ xem thông tin k t qu c a gi i ng ai h ng Anh.

Oracle 9i AS Wireless Edition GVHD: ThS. Hoàng C ng

SVTH: Tr n Thanh Nhân – Nguy n Qu c Chính Trang 132 Ta ch n vòng thi đ u th 2 đ xem thông tin k t qu c a vòng th 2 gi i ng ai h ng Anh.

Hình 5.1.7.c: Màn hình k t qu thi đ u

5.1.7.2. Test trên công c ptg/rm

T web browser ta truy c p vào URL : http://hostname:port/ptg/rm.

Oracle 9i AS Wireless Edition GVHD: ThS. Hoàng C ng

SVTH: Tr n Thanh Nhân – Nguy n Qu c Chính Trang 133 Ta ch n vào m c FootbalInfo. Màn hình cho phép ta ch n các gi i vô đch châu âu.

Hình 5.1.7.2.a: Màn hình ch n gi i bóng đá Qu c gia

Ta ch n gi i ng ai h ng Anh.

Hình 5.1.7.2.b: Màn hình ch n vòng thi đ u

Ti p theo ta ch n vòng thi đ u th hai. K t qu vòng thi đ u th hai s hi n lên.

Oracle 9i AS Wireless Edition GVHD: ThS. Hoàng C ng

SVTH: Tr n Thanh Nhân – Nguy n Qu c Chính Trang 134

5.1.7.3 Trên Simulator-Nokia Mobile Internet Toolkit3.1+Nokia 6590 Mobile Handset Mobile Handset

Truy c p vào URL : http://hostname:port/ptg/rm t thanh address c a toolkit . Khi đó Nokia 6590 Mobile Handset s connect vào wireless server và hi n th lên màn hình.

Hình 5.1.7.3.a: Màn hình ch n Folder

Ch n th m c example (adsbygoogle = window.adsbygoogle || []).push({});

Oracle 9i AS Wireless Edition GVHD: ThS. Hoàng C ng

SVTH: Tr n Thanh Nhân – Nguy n Qu c Chính Trang 135 Ch n Footbal Information. Hình 5.1.7.3.c: Màn hình ch n gi i bóng đá Qu c gia Ch n gi i vô đch (ví d nh Ng ai h ng Anh) Hình 5.1.7.3.d: Màn hình ch n vòng thi đ u Ch n vòng thi đ u (ví d , ch n vòng 2). Màn hình hi n th k t qu vòng 2 gi i ng ai h ng Anh.

Oracle 9i AS Wireless Edition GVHD: ThS. Hoàng C ng

SVTH: Tr n Thanh Nhân – Nguy n Qu c Chính Trang 136

Hình 5.1.7.2.e: Màn hình k t qu thi đ u

5.2 Tra c u thông tin chuy n bay c a các hãng hàng không

5.2.1 Hi n tr ng và yêu c u :

Trong th i đ i ngày nay, nhu c u v v n chuy n v đ ng hàng không là r t l n. Các hành khách c a các hãng hàng không có nhu c u đ c thông tin chính xác và k p th i v các chuy n bay đ đáp ng nhu c u đi l i c a h .

V i các cách th c hi n nay thì hành khách ph i đ n tr c ti p(ho c gián ti p) n i bán vé ho c sân bay đ yêu c u cung c p thông tin v chuy n bay t sân bay A t i sân bay B. Sau đó ng i bán vé ph i tra c u thông tin chuy n bay và thông báo l i cho khách hàng bi t v thông tin chuy n bay đó.

Sau đây là m t ng d ng đ c phát tri n d a trên s n ph m Oracle 9iAS Wireless Edition đ minh h a cho s n ph m này. ng d ng giúp cho hành khách tra c u thông tin v các chuy n bay c a các hãng hàng không (gi bay, hãng, đi m xu t phát, đích đ n).

Ng i s d ng ch vi c truy c p vào đa ch do nhà phát tri n ng d ng đnh ra, nh p vào thành ph xu t phát và thành ph đích đ n, ng d ng s truy tìm trên c s d li u đ tìm các chuy n bay phù h p (các chuy n bay tính t ngày hi n t i t i cu i tu n, n u chuy n bay đó trùng v i ngày mà hàng khách truy c p thì ng d ng s xem xét t i gi bay và gi truy c p đ xét xem chuy n bay đó có phù h p không).Sau đó ng d ng s hi n th lên toàn b các chuy n bay phù h p (c a t t c các hãng hàng không). Sau đó, hàng khách s ch n hãng hàng không, ng d ng s hi n th gi bay c a hãng hàng không đó.

Oracle 9i AS Wireless Edition GVHD: ThS. Hoàng C ng

SVTH: Tr n Thanh Nhân – Nguy n Qu c Chính Trang 137

5.2.2 S đ l p Thi t k l p Ü Table Airlines Tên t t thu c tính Di n gi i Lo i giá tr Ki u d li u Mi n giá tr Chi u dài Ghi chú Name Tên hãng hàng không Varchar 30 Boarding Tên thành ph xu t phát Varchar 30 Destination Tên thành ph đích Varchar 30

Flightcode Mã chuy n bay Varchar 3

Một phần của tài liệu Nghiên cứu công nghệ Oracle 9IAS wireless và viết ứng dụng minh họa (Trang 118)