1、基于 Java 的订餐系统设计与实现 客户端详细设计 1.设计分析 顾客模块的主要功能是浏览,订餐。浏览与自己相关的食品信息,订单信息等。用户要 下订单之前临时美食车把详细信息列出,物品的单价,购买的数量,总共的价钱,可修改购 买,当符合顾客要求的时候,顾客就可以下订单,下订单时首先会先到 commitfood.aspx 让用户确定一下订单是否付合要求, 确认无误后, 进入 checkout.aspx 填写接收信息后生成 订单。然后由 AddbuyInfo,Addbuyinfo 方法对数据库进行操作完成的。 顾客模块详细设计主要涉及到顾客下订单和食品搜索两大功能 顾客可以通过此功能对自己选中的
2、东西下订单,等待服务商送货。 1. 菜品浏览:可以分页浏览菜品菜品,并将想要的菜品提交到填写订单页面。然后系统打 出此次订购的编号 2.订购菜品:用户根据自己的编号可以在该页面定购所需要的菜品 3查看订单:用户根据自己的编号在该页修改已经订购的菜品。 4.修改订单:在该页修改或删除已经订购的菜品。 5.菜品查询:用户根据自己的订购编号可以在该页查找自己需要的菜品。 2.顾客下订单流程图: 通过提供食品搜索控件, 为顾客提供更为方便快捷的服务。 顾客可以快速的找到自己想 要下订的美食。 顾客 订单确认 显示购物车 修改订单 不购买此商品 结束操作 登录 图 1 顾客下单流程图据图 删除购物车信息
3、 提示错误 验证登陆用户 id 是否正确 N Y 确认结账 N Y 返回 订单生成 提示错误 Y N 3.搜索流程图如图 4-3 所示: 4.Java swing 做登陆界面: 1.容器类 JFrame 窗体类 JPanel 面板类 JMenuBar 菜单类 2.元素类 判断txtSearch 是否为空 开始 键入FoodSearch搜 索控件 User_SearchReault 页 dlSearchBind() 结束 提示输入 图 2 搜索模块程序流程图 数据库查找 匹配成功 提示未找到 JTextField 文本输入框类 JPasswordField 密码输入框类 JButton 按钮类
4、JCheckBox 复选框类 JComboBox 下拉列表 JLabel 标签类 3.布局类 使用 FlowLayout 流式布局类 4.Socket API: .Accept 方法:产生“阻塞” ,直到接受到一个连接,并且返回一个客户端的 Socket 对象实 例。 .getinputStream 方法:获得网络连接输入. .getOutputStream 方法: 连接的另一端将得到输入, 同时返回一个 OutputStream 对象实例。 客户端开发原理:使用 Socket 对网络上某一个服务器的某一个端口发出连接请求,一旦连 接成功,打开对话;会话结束后,关闭 Socket。客户端不需要
5、制定打开的端口,通常临时 的、动态的分配一个 1024 以上的端口。 5.主要代码 1.主界面: setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOS E); setTitle(“顾客-网络订餐系统“); setBackground(new java.awt.Color(255, 255, 255); nearby.setText(“附近小吃“); nearby.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(ja
6、va.awt.event.MouseEvent evt) nearbyMouseClicked(evt); ); suggest.setText(“今日推荐“); suggest.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) suggestMouseClicked(evt); ); myorder.setText(“我的订单“); myorder.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) myorderMouseClicked(evt); ); myorder.addActionListener(new java.awt.event.ActionListener() public