第七篇 基于JSP 技术的网上购书系统——新品上架、推荐产品、在线留言、搜索功能实现(网上商城、仿淘宝、当当、亚马逊)
目录
1.新品上架
1.1功能说明
1.2界面设计
1.3处理流程
1.4数据来源和算法
1.4.1数据来源
1.4.2查询条件
1.4.3表间关系
1.4.4相关sql实例
2.推荐产品
2.1功能说明
2.2界面设计
2.3处理流程
2.4数据来源和算法
2.4.1数据来源
2.4.2查询条件
2.4.3表间关系
2.4.4相关sql实例
3.在线留言
3.1功能说明
3.2界面设计
3.3处理流程
3.4数据来源和算法
3.4.1数据来源
3.4.2查询条件
3.4.3相关sql实例
4.查找结果 (搜索)
4.1功能说明
4.2界面设计
4.3处理流程
4.4 数据来源和算法
4.4.1数据来源
4.4.2查询条件
4.4.3表间关系
4.4.4相关sql实例
1.新品上架
1.1功能说明
显示最近一个月上架的所有图书,方便用户查找最新的图书。
1.2界面设计

1.3处理流程
1. 点击【查看】或图书名称链接进入【商品信息查看】页面。
2. 点击【购买】进入【我的购物车】页面。
1.4数据来源和算法
1.4.1数据来源
数据来源于“产品表(tb_ productinfo)”和“产品货架表(tb_sellinfo)”。
1.4.2查询条件
序号
查询条件名称
操作运算
表名
字段名
备注
1
状态、库存量、时间
等于(=)、大于(>)、大于等于(>=)和小于等于(<=)
tb_sellinfo
state、stock、time
获得销售信息
2
产品编号
等于(=)
tb_productinfo
productnumber
获得产品信息
1.4.3表间关系
“产品表(tb_ productinfo)”和“产品货架表(tb_sellinfo)”通过字段“产品编码(productnumber)”关联。
1.4.4相关sql实例
(1). select * from tb_sellinfo where state='上架' and stock>0 and time between dateadd(mm,-1,getdate()) and getdate() order by time desc
(2). select * from tb_productinfo where productnumber=?
2.推荐产品
2.1功能说明
向用户推荐一些反映良好、阅读量多的图书,给用户最好的阅读体验。
2.2界面设计

2.3处理流程
1. 点击【查看】或图书名称链接进入【商品信息查看】页面。
2. 点击【购买】进入【我的购物车】页面。
2.4数据来源和算法
2.4.1数据来源
数据来源于“产品表(tb_ productinfo)”和“产品货架表(tb_sellinfo)”。
2.4.2查询条件
序号
查询条件名称
操作运算
表名
字段名
备注
1
状态、库存量、推荐
等于(=)、大于(>)
tb_sellinfo
state、stock、groom
获得销售信息
2
产品编号
等于(=)
tb_productinfo
productnumber
获得产品信息
2.4.3表间关系
“产品表(tb_ productinfo)”和“产品货架表(tb_sellinfo)”通过字段“产品编码(productnumber)”关联。
2.4.4相关sql实例
(1). select * from tb_sellinfo where groom='yes' and stock>0 and state='上架'
(2). select * from tb_productinfo where productnumber=?
3.在线留言
3.1功能说明
提供一个交流平台,用户可以向卖家提供建议,也可以互相发表体会心得。
3.2界面设计

3.3处理流程
点击【发表】将内容保存到数据库,返回原页面显示留言内容。
3.4数据来源和算法
3.4.1数据来源
用户留言内容列表数据来源于“留言表(tb_guest)”。
3.4.2查询条件
序号
查询条件名称
操作运算
表名
字段名
备注
1
评论类型、状态
等于(=)
tb_guest
Commenttype、state
3.4.3相关sql实例
select * from tb_guest where commenttype='在线留言' and state='显示' order by time desc
4.查找结果 (搜索)
4.1功能说明
显示用户搜索的结果。
4.2界面设计

4.3处理流程
1. 点击【查看】或图书名称链接进入【商品信息查看】页面。
2. 点击【购买】进入【我的购物车】页面。
4.4 数据来源和算法
4.4.1数据来源
数据来源于“产品表(tb_ productinfo)”和“产品货架表(tb_sellinfo)”。
4.4.2查询条件
序号
查询条件名称
操作运算
表名
字段名
备注
1
状态、库存量、类别
等于(=)、大于(>)
tb_sellinfo
state、stock、sort
根据类别查询
2
产品编号
等于(=)
tb_productinfo
productnumber
获得产品信息
3
产品名称
等于(=)
tb_productinfo
bookname
4
产品编号
等于(=)、大于(>)
tb_sellinfo
productnumber
获得销售信息
4.4.3表间关系
“产品表(tb_ productinfo)”和“产品货架表(tb_sellinfo)”通过字段“productnumber”进行关联。
4.4.4相关sql实例
(1). select * from tb_sellinfo where state='上架' and stock>0 and sort=? order by time desc
(2). select * from tb_productinfo where productnumber=?
(3). select * from tb_productinfo where bookname like ?
(4). select * from tb_sellinfo where productnumber=? and stock>0
相关文章:
第七篇 基于JSP 技术的网上购书系统——新品上架、推荐产品、在线留言、搜索功能实现(网上商城、仿淘宝、当当、亚马逊)
目录 1.新品上架 1.1功能说明 1.2界面设计 1.3处理流程 1.4数据来源和算法 1.4.1数据来源 1.4.2查询条件 1.4.3表间关系 1.4.4相关sql实例 2.推荐产品 2.1功能说明 2.2界面设计 2.3处理流程 2.4数据来源和算法 2.4.1数据来源 2.4.2查询条件 2.4.3表间关…...
IntelliJ IDE 插件开发 |(一)快速入门
前言 IntelliJ IDEA 作为 Java 开发的首选 IDE,其强大、方便之处不必多说。不过,由于个人或者团队的个性化需求,我们或多或少会想对其功能进行拓展,这时就需要开发插件(在 IntelliJ 平台下的所有 IDE 均可运行&#x…...
【Ubuntu】Windows远程Ubuntu系统
步骤 开启ssh服务并开放22端口关闭防火墙ufw或iptables ;或者将远程端口添加到入站与出站规则安装xrdp并将xrdp用户添加到ssl-cert用户组mstsc 远程,输入账号密码 1、开启ssh服务 1.1. 查看ssh是否已经开启 sudo ps -e | grep ssh如果最后返回是sshd…...
pipeline jenkins流水线
Pipeline 是 Jenkins 中一种灵活且强大的工作流机制,它允许您以代码的形式来定义和管理持续集成和持续交付的流程。 Pipeline 的作用主要体现在以下几个方面: 可编排的构建流程:使用 Pipeline,您可以将一个或多个阶段(…...
软件工程理论与实践 (吕云翔) 第六章 面向对象分析课后习题及其解析
第六章 面向对象分析 知识点: 一个典型的软件系统通常包括的内容为:它使用数据结构(对象模型),执行操作(动态模型),并且完成数据值的变化(功能模型)。 3种模型之间的关…...
langchain(1):使用LangChain 调用 openai 的 text/chat model
文章目录 重要参考OPENAI API调用 Text 模型调用 Chat 模型消息角色 Chat 模型 vs Text 模型 通过 LangChain 调用 Text 和 Chat 模型调用 text 模型调用 chat 模型 重要参考 langchain 中文网 langchain api openai api 文档 huggingface LangChain 是一个全方位的、基于大…...
rabbitMQ的扇出模式(fanout发布订阅)的生产者与消费者使用案例
扇出模式 fanout 发布订阅模式 生产者 生产者发送消息到交换机(logs),控制台输入消息作为生产者的消息发送 package com.esint.rabbitmq.work03;import com.esint.rabbitmq.RabbitMQUtils; import com.rabbitmq.client.Channel;import java.util.Scanne…...
VSCode打开Json 文件格式化
在VSCode中打开JSON文件时,你可以使用以下步骤来格式化JSON并显示为多行: 使用快捷键: 在打开的JSON文件中,使用快捷键格式化文档。 Windows/Linux:Shift Alt FmacOS:Shift Option F 右键菜单ÿ…...
【C++】:STL——标准模板库介绍 || string类
📚1.什么是STL STL(standard template libaray-标准模板库):是C标准库的重要组成部分,不仅是一个可复用的组件库,而且 是一个包罗数据结构与算法的软件框架 📚2.STL的版本 原始版本 Alexander Stepanov、Meng Lee 在…...
Python小白之PyCharm仍然显示“No module named ‘xlwings‘”
Python小白之“没有名称为xlwings‘的模块”-CSDN博客文章浏览阅读8次。cmd 打开命令行,输入python出现>>>的提示格,输入import xlwings 回车,正常报错:No module named xlwings。输入python 回车后,再输入im…...
在Uni-app中实现计时器效果
本文将介绍如何在Uni-app中使用Vue.js的计时器功能实现一个简单的计时器效果。 首先,我们需要创建一个包含计时器的组件。以下是一个基本的计时器组件示例: <template><div class"timer"><p>{{ formatTime }}</p><…...
Linux脚本shell中将Windos格式字符转换为unix
众所周知,windos的文档直接复制到linux服务器上去,是需要进行格式转换的,否则可能出现以下报错: 解决方法: vim 脚本 输入 :set ff ##会显示字符格式 :set ffunix ##转换为unix格式 :wq ##保存退出...
【分布式】MIT 6.824 Lab 2B实现细节分析
基于6.824 2020版 http://nil.csail.mit.edu/6.824/2020/schedule.html Lab 2A(选举)一天就完成了,主要是第一次开始写Raft需要稍微熟悉一下,但是几乎不用修改,很容易就通过了。不过到了Lab 2B就会发现2A能够通过纯属侥…...
MySql 数据库初始化,创建用户,创建数据库,授权
登录MySQL(使用管理员账户) mysql -u root -p 设置用户 -- 创建用户并设置密码 CREATE USER user_name% IDENTIFIED BY user_password;-- 删除用户 drop user user_name; 设置数据库 -- 创建数据库 CREATE DATABASE database_name;-- 删除数据库 DR…...
【洛谷算法题】P5712-Apples【入门2分支结构】
👨💻博客主页:花无缺 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5712-Apples【入门2分支结构】🌏题目描述🌏输入格式&…...
vue项目中的js文件使用vuex
使用场景:假设有一个接口,需要在很多页面获取一遍并且将接口的返回值保存起来,这样就能使用vuex,将值保存在vuex中 实现:vuex中新建firmModule.js文件,编写存储值的代码,utils/getFirmData.js用…...
【Vue3】 computed 完整写法 全选反选 、计算商品总价
全选反选 const allCheck computed({get() {return buyCard.value.every(item > item.checkState)},set(val) {return buyCard.value.forEach(item > item.checkState val);},}); 计算商品总价格 const aggregatePrice computed(() > {const arr buyCard.value.f…...
Mindomo Desktop for Mac(免费思维导图软件)下载
Mindomo Desktop for Mac是一款免费的思维导图软件,适用于Mac电脑用户。它可以帮助你轻松创建、编辑和共享思维导图,让你的思维更加清晰、有条理。 首先,Mindomo Desktop for Mac具有直观易用的界面。它采用了Mac独特的用户界面设计…...
Spark资源规划-资源上线评估
1、总体原则 以单台服务器 128G 内存,32 线程为例。 先设定单个 Executor 核数,根据 Yarn 配置得出每个节点最多的 Executor 数量,每个节点的 yarn 内存/每个节点数量单个节点的数量 总的 executor 数单节点数量*节点数。 2、具体提交参数 …...
RT-Thread STM32F407 定时器
定时器简介 硬件定时器一般有 2 种工作模式,定时器模式和计数器模式。不管是工作在哪一种模式,实质都是通过内部计数器模块对脉冲信号进行计数。下面是定时器的一些重要概念。 计数器模式:对外部输入引脚的外部脉冲信号计数。 定时器模式&…...
练习(含atoi的模拟实现,自定义类型等练习)
一、结构体大小的计算及位段 (结构体大小计算及位段 详解请看:自定义类型:结构体进阶-CSDN博客) 1.在32位系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是多少? #pragma pack(4)st…...
前端倒计时误差!
提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...
c++ 面试题(1)-----深度优先搜索(DFS)实现
操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...
Python实现prophet 理论及参数优化
文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...
微信小程序 - 手机震动
一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注:文档 https://developers.weixin.qq…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序
一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...
ardupilot 开发环境eclipse 中import 缺少C++
目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...
技术栈RabbitMq的介绍和使用
目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...
JVM 内存结构 详解
内存结构 运行时数据区: Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器: 线程私有,程序控制流的指示器,分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 每个线程都有一个程序计数…...
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...
