第七篇 基于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 种工作模式,定时器模式和计数器模式。不管是工作在哪一种模式,实质都是通过内部计数器模块对脉冲信号进行计数。下面是定时器的一些重要概念。 计数器模式:对外部输入引脚的外部脉冲信号计数。 定时器模式&…...
idea大量爆红问题解决
问题描述 在学习和工作中,idea是程序员不可缺少的一个工具,但是突然在有些时候就会出现大量爆红的问题,发现无法跳转,无论是关机重启或者是替换root都无法解决 就是如上所展示的问题,但是程序依然可以启动。 问题解决…...
C++初阶-list的底层
目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...
Zustand 状态管理库:极简而强大的解决方案
Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...
中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试
作者:Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位:中南大学地球科学与信息物理学院论文标题:BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接:https://arxiv.…...
多场景 OkHttpClient 管理器 - Android 网络通信解决方案
下面是一个完整的 Android 实现,展示如何创建和管理多个 OkHttpClient 实例,分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...
STM32+rt-thread判断是否联网
一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...
汽车生产虚拟实训中的技能提升与生产优化
在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...
Java 加密常用的各种算法及其选择
在数字化时代,数据安全至关重要,Java 作为广泛应用的编程语言,提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景,有助于开发者在不同的业务需求中做出正确的选择。 一、对称加密算法…...
【AI学习】三、AI算法中的向量
在人工智能(AI)算法中,向量(Vector)是一种将现实世界中的数据(如图像、文本、音频等)转化为计算机可处理的数值型特征表示的工具。它是连接人类认知(如语义、视觉特征)与…...
【决胜公务员考试】求职OMG——见面课测验1
2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...
