Trang thông báo mã chu yn bay (h oc thông báo không có chu yn bay phù

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 139)

hãng hàng không.

Airlines.jsp

Input: Tên thành ph đi và tên thành ph đ n

Output: Mã hãng hàng không (g i sang trang FlightTimings.jsp)

Ng i s d ng Màn hình nh p n i xu t phát và đích đ n Màn hình nh p mã chuy n bay L p FlightInfo (C s d li u Oracle) Màn hình hi n th gi bay Airlines Flighttime

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

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

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

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

<SimpleResult> <SimpleContainer>

<%

//L y các tham s tên thành ph đi và tên thành ph đ n t Flight.jsp g i sang

String boarding = request.getParameter("boarding"); String destination = request.getParameter("destination");

//L y các hãng hàng không có bay chuy n trên t c s d li u

ArrayList airlines = flightInfo.getAirLines(boarding, destination); int noOfAirlines = airlines.size();

StringBuffer availableAirlines= new StringBuffer(); for (int i=0; i<noOfAirlines; i++){

availableAirlines.append("<SimpleStrong>").append((String)airlines.get(i)).append( "</SimpleStrong><SimpleBreak/>");

}

if (noOfAirlines != 0){ %>

<SimpleForm target="FlightTimings.jsp" method="POST">

//Hi n các hãng hàng không ra màn hình n u có

<SimpleTextItem>

Cac Chuyen Bay Tu <%=boarding%> Den <%=destination%> Tu Hom Nay Cho Toi Cuoi Tuan:

</SimpleTextItem> <SimpleBreak/> <SimpleTextItem>

<%=availableAirlines%> </SimpleTextItem>

<SimpleFormItem name="flight" title="Ma Chuyen Bay" /> </SimpleForm>

<% }else{

%>

// Thông báo n u không có chuy n bay

<SimpleTextItem>

Khong Co Chuyen Bay Nao Giua Hai Thanh Pho Ban Da Chon Cho Toi Tuan Sau </SimpleTextItem> <% } %> </SimpleContainer> </SimpleResult>

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

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

5.2.4.3 Trang hi n th gi bay c a các chuy n bay c a hãng hàng không đã nh p. nh p.

FlightTiming

Input: Mã hãng hàng không Output: Th i gian bay

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

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

<SimpleResult> <SimpleContainer>

<SimpleForm target="Flights.jsp" method="POST"> <%

//L y mã hãng hàng không t Airlines.jsp g i sang

String flight = request.getParameter("flight");

ArrayList flightTimings = flightInfo.getNextFlight(flight); int flights = flightTimings.size();

StringBuffer availableTimings= new StringBuffer(); for (int i=0; i<flights; i++){

//Ghép chu i gi bay đ hi n ra màn hình availableTimings.append("<SimpleStrong>").append((String)flightTimings.get(i)) .append( "</SimpleStrong><SimpleBreak/>"); } if (flights != 0){ %>

//Hi n các gi bay c a các chuy n n u có

<SimpleTextItem>Gio Bay Cua Cac Chuyen Bay</SimpleTextItem> <SimpleBreak/>

<SimpleTextItem><%=availableTimings%></SimpleTextItem> <%

}else{ %>

//Thông báo n u không có chuy n nào

<SimpleTextItem>

Khong Co Chuyen Bay Nao Cua Hang Hang Khong Ban Chon Cho Toi Cuoi Tuan </SimpleTextItem> <% } %> </SimpleForm> </SimpleContainer> </SimpleResult>

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

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

5.2.4.4 File class dùng trong javabean, đ c d ch t file .java FlightInformation.java FlightInformation.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; import java.util.Calendar; public class FlightInformation{ private Connection conn = null;

//K t n i 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"); 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; } } //L y tên, mã các hãng hàng không t c s d li u

public ArrayList getAirLines(String boarding, String destination) throws Exception{

ArrayList airlines = new ArrayList(2); this.getConnection();

PreparedStatement pstmt = conn.prepareStatement("SELECT INITCAP(Name), FlightCode " +" FROM Airlines

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

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

ANDLOWER(TRIM(Destination))" +" = LOWER(TRIM(?))"); pstmt.setString(1, boarding);

pstmt.setString(2, destination);

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

String code = null; while (rset.next()){ name = rset.getString(1); code = rset.getString(2); airlines.add(name + " (" + code + ")"); } rset.close(); pstmt.close(); return airlines; }

//L y ngày gi bay c a hãng hàng không t c s d li u

public ArrayList getNextFlight(String flightCode) throws Exception{ ArrayList flightTimings = new ArrayList(2);

this.getConnection(); PreparedStatement pstmt =

conn.prepareStatement("SELECT INITCAP(Day), Time FROM FlightTime " +"WHERE LOWER(TRIM(FlightCode)) = LOWER(TRIM(?))");

pstmt.setString(1, flightCode);

ResultSet rset = pstmt.executeQuery();

Calendar calendar = Calendar.getInstance();

int today = calendar.get(calendar.DAY_OF_WEEK); int time = calendar.get(calendar.HOUR_OF_DAY); int flightDay;

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

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

String weekDay = null; while (rset.next()){

flightDay = rset.getInt(1); flightTime = rset.getString(2);

if((today < flightDay) || ((today == flightDay) && (time < Integer.parseInt(flightTime.substring(0,flightTime.indexOf(":")))))){ switch(flightDay){

case 1: weekDay = "Sunday"; break;

case 2: weekDay = "Monday"; break;

case 3: weekDay = "Tuesday"; break;

case 4: weekDay = "Wednesday"; break;

case 5: weekDay = "Thursday"; break;

case 6: weekDay = "Friday"; break;

case 7: weekDay = "Saturday"; break; } flightTimings.add(weekDay + " (" + flightTime + ")"); } } rset.close(); pstmt.close(); this.closeConnection(); return flightTimings; } } 5.2.5 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 144 T ng t nh trong vi d tên nh ng trong v ng d ng này ta có th ch n thêm check box Async Agent b c th 6 đ cho phép ng i s d ng có th giao ti p v i ng d ng b ng các giao th c khác ngoài HTTP nh thông th ng.

5.2.6 T o Service

cho service có th s d ng đ c thông qua async agent service thì ta ph i khai báo thêm s tham s cho Async Agent b c th 4.

5.2.7 Test ng d ng

5.2.7.1 Test trên webtool c a wireless server

Ta vào service designer (http://hostname:port/webtool/login.uix). ng v i m i master service thì c t gi a có bi u t ng hình mobile phone, ta nh n vào bi u t ng đó. đây ta ch n bi u t ng t ng ng v i master service là Flight Information.

Hình 5.2.7.1.a: Màn hình nh p đ a đi m đi và đ a đi m đ n

Ta nh p vào thành ph xu t phát và thành ph đích r i nh n submit.

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

SVTH: Tr n Thanh Nhân – Nguy n Qu c Chính Trang 145 Ta nh p vào mã hãng hàng không r i nh n submit.

Hình 5.2.7.1.c: Màn hình hi n ngày gi bay

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

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

5.2.7.2 Trên Simulator

Trên Simulator (Nokia Mobile Internet Toolkit 3.1 + Nokia 6590 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.2.7.2.a: Màn hình ch n folder

Ch n th m c examples (vì ta đ t service filghtinfo trong th m c này).

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

SVTH: Tr n Thanh Nhân – Nguy n Qu c Chính Trang 147 Ch n vào m c FlightInfo đ th nghi m ng d ng.

Hình 5.2.7.2.c: Màn hình nh p đ a đi m đi và đ a đi m đ n

Màn hình s hi n ra m t form vào ta nh p vào thành ph xu t phát và thành ph đích. nh p vào ô starting point thì tr c tiên ta dùng công c di chuy n đ n field starting point và nh p vào nút có bi u t ng là g i đi n tho i . Sau đó ta nh p vào thành ph xu t phát b ng các kí t trên công c . Sau khi nh p xong thì ta l i nh n nút “g i đi n tho i” . Ta làm t ng t v i tr ng destination. Sau đó ta ch n nút submit và nh n ch 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 148 Các thông tin v các hãng hàng không có chuy n bay gi a hai thành ph xu t hi n và ta nh p vào mã c a hãng hàng không. Sau khi nh p xong (cách nh p t ng t nh ph n trên) thì ta ch n nút submit và k t qu ta nh n đ c là th i gian bay mà ta c n tìm. Nh n submit đ quay tr l i vi c tìm ki m chuy n bay khác.

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

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

6

ánh giá và h ng phát tri n

ánh giá

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

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

6.1 ánh giá

tài nghiên c u : Oracle 9iAS Wireless Edition .

L nh v c thông tin di đ ng đã phát tri n r t m nh trong nh ng n m g n đây. Nhu c u đáp ng thông tin cho ng i s d ng di đ ng c ng ngày m t l n. Vì v y nhu c u xây d ng, phát tri n, qu n lý các ng d ng di đ ng ngày càng t ng. S n ph m Oracle 9iAS Wireless đã đáp ng m t cách đ y đ các yêu c u này.

ây là m t đ tài t ng đ i m i, và ph m vi ng d ng khá l n. Sau n m tháng th c hi n đ tài, chúng em đã nghiên c u đ c:

Ü Lý thuy t v c s h t ng c a thông tin di đ ng.

Ü Quá trình xây d ng, phát tri n,tri n khai ng d ng trong thông tin di đ ng

Ü Cách th c qu n lý h th ng thông tin di đ ng, bao g m : qu n lý các d ch v di đ ng và qu n lý ng i dùng các d ch v di đ ng đó.

Ü Xây d ng m t s ng d ng minh h a cho các d ch v tra c u thông tin trên thi t b di đ ng.

6.2 H ng phát tri n

Chúng em s c g ng phát tri n, m r ng các ng d ng trên cho th c t h n. V i các hi u bi t v công ngh này, mong r ng trong t ng lai chúng em s có đi u ki n đ tham gia tri n khai nó vào th c t t i Vi t Nam.

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 139)

Tải bản đầy đủ (PDF)

(151 trang)