项目>点餐系统 总结概述

开发工具Vs code(vim),开发环境Linux(CentOS7),使用语言C/C++,数据库MySQL,
相关库Jsoncpp,cpp-httpib,MySQL第三方库

项目相关概念

站本质上是一个HTTP服务器+若干个 页

软件工程流程

1>背景调研
2>需求分析(复杂且重要)
3>概要设计
4>详细设计
5>编码
6>测试
7>发布

MySQL第三方库c版本

Json

  • JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。

cpp-httplib

  • 一个header-only的跨平台HTTP/HTTPS服务器和客户端C++库

MVC框架模式

  • M:model——>和数据相关的操作,就是写的服务器,前面的ddb.hpp
  • V:view——>和界面相关
  • C:controller——>HTTP核心操作

Vue

  • Vue是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。
    Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。

HTML(标签化语言)

常见标签:
1.div(一个容器,块级元素,独占一行) ___2.span(一个容器,内联级元素,不独占一行)
3.h1-h6一级标题->六级标题____________4.p (段落,和div差不多)
5.img (图片.src属性指定图片的url)_______6.a(超链接href属性,指定跳转到哪个新页面)
#任何一个标签都有一个class这样的属性,描述标签的颜色,大小指定哪个css文件

操作步骤

创建库表 ,在db.hpp里封装MySQL的API,在order_server.cc(http服务器)对请求解析调用封装的方法并返回响应。
model层数据库部分↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓.

创建数据库与表

  • 1.创建db.sql文件,实现如何进行mysql语句的批量执行。
  • 2.对*.sql文件进行编写
  • 3.mysql -uroot < db.sql ,一键生成表。

客户端和服务器之间的接口设计

  • 使用代码操作数据库,实现一个MySQL的客户端,完成对数据库的增删改查。
  • 选择Restful风格的接口(API)设计。
  • 使用Json格式组织数据
  • 对服务器端进行API配置

db.hpp具体内容:
封装创建MYSQL句柄并建立连接>>>>>MYSQL类提供了很多方法,使用起来也很方便,还需要设置编码方式
设计两个操作数据库的核心类>>>>>DishTable类(封装了对菜品信息的管理方法),OrderTable类(封装了对订单信息的管理方法)
释放句柄

controller层HTTP服务器核心操作部分↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓.

  • 服务器核心流程:
    1.读取请求并解析(反序列化)
    2.根据请求进行响应(与业务相关)
    3.把响应写回到客户端(序列化)

开始编写order_server.cc(http服务器)

具体内容

  • 创建并初始化MYSQL操作句柄>>>>包含了db.hpp,直接调用
  • 定义dish_table与order_table并与MYSQL句柄建立连接
  • 创建Server对象>>>>>>>Server类提供了很多方法,可以处理客服端请求
  • 具体说一下Post(插入菜品)方法:
    1.定义Json格式的请求与相应,声明Json格式的两个方法
    2.获取数据并转换为Json格式>>>>>>>>>若转换失败返回错误响应
    3.校验Json中的信息>>>>>>>>>若格式错误失败返回错误响应
    4.调用数据库操作进行插入>>>>>>>>>>使用db.hpp的dish_table::Insert方法
    5.构造正确的响应
  • 每一个请求都要进行如上过程,根据响应的不同会稍有差异
  • 进行监听>>>>>>>>server.listen(“0.0.0.0”,9094);//listen函数一旦执行便是死循环,程序不往下走了

构造HTTP请求,使用Postman进行HTTP服务器测试

客户端,前端 页部分↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓.

三大部分:

  • HTML 描述 页的基本结构,可以说是一个 页的骨
  • CSS 描述页面的样式,可以说是一个 页的皮
  • JavaScript 描述 页和用户的交互动作

下载HTML模板进行修改,选出需要的部分,将HTML文件拷至服务器所在文件夹,输入url可以看到页面效果。

完善 页与需要继续学习JavaScript。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年8月7日
下一篇 2019年8月7日

相关推荐