云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 航空订票系统详细设计

航空订票系统详细设计

  • 62 次阅读
  • 3 次下载
  • 2025/7/15 3:16:21

import java.util.Calendar; import com.tarena.abs.model.*;

// 机票出票记录访问接口

public interface TicketOrderDAO {

// 执行出票的操作。

public boolean order(Order ord);

// 执行退票操作。

public boolean cancelOrder(int TicketNumber);

// 查询指定营业网点在指定时间段内的出票记录

Set

getAllTicketOrder(Branch

branch,Calendar

public

startDate,Calendar endDate);

// 得到指定营业网点指定日期内的营业额。

public double getAllTicketMoney(Branch branch,Calendar startDate,Calendar endDate);

//得到所有营业网点指定日期内的营业额

public double getAllTicketMoney(Calendar startDate,Calendar endDate); }

4 关健代码分析 4.1流程代码分析

服务器启动时读取配置文件,读取数据,并且服务器端ServerSocket 等待客户端线程

//查询所有出票信息

public Set getAllTicketOrder();

访问,当收到客户端相应后,则创建一个新的服务线程 执行服务。

ServerSocket ss=null; Socket s=null;

try {

//创建服务器socket

ss=new

ServerSocket(Integer.parseInt(pro.getProperty(\

while(true){

s=ss.accept();

//转发给serverThread处理(传递socket参数) new ServerThread(s).start()

}

} catch (IOException e) { }

e.printStackTrace();

服务线程ServerThread通过构造函数接受socket,然后转发给Controller

public class ServerThread extends Thread{

Socket s;

protected ServerThread(Socket s){ //用传入的socket初始化 }

public void run(){

try {

new Controller(s).handle(); //交给控制器处理 this.s=s;

}

} catch (Exception e) {

e.printStackTrace();

}finally{ } }

try{s.close();}catch(IOException e){}

由controller调用handle方法,分析请求对象。

if(type.equals(\登陆处理

loginHandle(req);

}else if(type.equals(\航班计划查询处理

flightSearchHandle(req);

}else if(type.equals(\订单处理

orderHandle();

}else if(type.equals(\退出处理

//quitHandle(); break;

}else if(type.equals(\ }

有不同的处理程序,调用相应的dao将查询信息封装到response中。

modifyPasswd(req);

hs=(HashSet)(flightDao.getAllFlights(fromAddr,toAddr,cal)); Response res=new Response(\res.setData(hs);

4.2用表格显示表单

当客户端查询到航班计划时,把flightlist航班集合传给FlightTableModel,再把FLightTableModel传给JTable,然后把JTable加入JScorllPane,就会自动显示数据。

FlightTableModel ftm = new FlightTableModel(flightlist); JTable jt = new JTable(ftm);

ClientMainClass.clientFrame.setTable(jt);

FlightTableModel实现了AbstractTableModel接口,实现了如下四个方法。

package com.tarena.abs.client; import javax.swing.table.*; import java.util.*;

import com.tarena.abs.model.*;

public class FlightTableModel extends AbstractTableModel{

ArrayList s;

public FlightTableModel(ArrayList s){ }

//获得列名

public String getColumnName(int arg0) {

switch(arg0){

case 0: return \航班号\case 1: return \出发地\case 2: return \目的地\case 3: return \起飞时间\case 4: return \到达时间\case 5: return \机型\case 6: return \票价\case 7: return \头等舱\case 8: return \公务舱\case 9: return \经济舱\default: return null; this.s=s;

}

}

//获得行数

public int getColumnCount() { }

//获得列数

public int getRowCount() { }

//获得指定位置的值

public Object getValueAt(int row, int col) {

Flight f=(Flight)s.get(row); if(row<0 || row>s.size())

return null; return s.size(); return 10;

switch(col){

case 0: return f.getSch().getFlightNumber(); case 1: return f.getSch().getFromAddress(); case 2: return f.getSch().getToAddress(); case 3: return f.getSch().getFromTime(); case 4: return f.getSch().getToTime(); case 5: return f.getSch().getPlane(); case 6: return

(int)(f.getSch().getPrice()*f.getPriceOff());

}

}

case 7: return f.getFCSRemain(); case 8: return f.getBCSRemain(); case 9: return f.getECSRemain(); default: return null;

}

4.3 Hibernate映射关系

1、构建pojo(Plain Old Java Objects)对象

用JDBC储存数据时,涉及多个表格的修改,查找。工作难度较大。所以考虑用hibernate

搜索更多关于: 航空订票系统详细设计 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

import java.util.Calendar; import com.tarena.abs.model.*; // 机票出票记录访问接口 public interface TicketOrderDAO { // 执行出票的操作。 public boolean order(Order ord); // 执行退票操作。 public boolean cancelOrder(int TicketNumber); // 查询指定营业网点在指定时间段内的出票记录 Set getAllTicketOrder(Branch branch,Calendar public

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com