当前位置: 首页 > article >正文

linux自律 第 40 天

在学习了sqlite3数据库的增删改查之后,我开始做了一个基于web服务端的商品查询系统,将商品的图片,名称,id, 详细描述和关键词等都放入了该数据库中,利用该数据库和html构建的网页来完成该项目。

该项目首先需要设计出登录系统,登录需要密码和账号,所以需要注册,我打算在注册的时候使用数据库,将注册的信息放在数据库中。然后使用账号密码登录的时候,输入的账号密码在请求报文中,以post的形式发出来,接收后进行处理将账号和密码提取出来,然后与数据库内的信息相匹配,如果匹配成功,就可以登录,进而进入搜索页面。

在搜索页面,可以输入商品名,就会显示与输入相关的各种商品,根据输入的不同,显示的商品也不同,所以需要一个动态页面,需要将页面的前一半先发给浏览器,然后根据浏览器的post类型的请求报文,得到需要查询的商品名,然后将所需要的商品的相关数据从数据库中拿出,然后拼好之后发给浏览器,实现动态页面。

搜索相关商品之后,点击其中的某个商品,可以查看该商品的详细信息,包括商品的名称,价格,图片,详细描述和关键字。这也是一个动态页面,因为商品有无数个,每一个商品不可能都进入不同的页面,也应该是先将前面的固定的部分发过去,然后将后面动态的拼好再发。但是怎么发呢,这需要传参,现在显示的图片都是超链接,点击之后都会跳入详细信息的网页,这时需要在跳入的超链接后面加入?Id=进行传参,将自己的商品id传入,到时候对请求报文进行解析,将id号解析出来,然后调用存放商品信息的数据库,将之前显示的商品的id都拿出来,如果与传入的id号相等,就将该商品的详细信息拼在字符串内,然后发过去,就能变成一个动态的根据选择商品不同而显示不同的页面。

最后就是加入IO多路复用,让多个用户都可以访问服务端,使用epoll函数库,epoll相比select,它使用的是链表,没有描述符个数的限制,它直接将链表创建在内核,没有数据的反复拷贝,节约资源和时间。并且epoll只会将需要响应的文件描述符返回,而select是返回一个所以文件描述符的表,根据文件描述符对应的位置是0是1来判断是否需要响应。


http://www.kler.cn/a/590187.html

相关文章:

  • docker可视化之dpanel
  • Android的消息机制
  • 黑马商城完成随笔
  • SpringBoot 第一课(Ⅲ) 配置类注解
  • 网页制作18-Javascipt图像特效の图片闪烁
  • Python + Qt Designer构建多界面GUI应用程序:Python如何调用多个界面文件
  • Qt常用控件之网格布局QGridLayout
  • 使用 GetX 实现状态管理:同一页面和不同页面之间的数据变化
  • 【Unity6打包Android】游戏启动的隐私政策弹窗(报错处理)
  • VSTO(C#)Excel开发12:多线程的诡异
  • 数据库核心技术面试题深度剖析:主从同步、二级索引与Change Buffer
  • 前端技巧第六期JavaScript对象
  • 【最新版】智慧小区物业管理小程序源码+uniapp全开源
  • 关于deepseek R1模型分布式推理效率分析
  • Java学习——数据库查询操作
  • 解决MySQL 8.x初始化后设置忽略表和字段大小写敏感的问题
  • 使用computed计算属性实现购物车勾选
  • Go vs Rust vs C++ vs Python vs Java:谁主后端沉浮
  • 【面试手撕】非常规算法,多线程常见手撕题目
  • Windows11 新机开荒(二)电脑优化设置