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

第七篇 基于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&#xff0c;其强大、方便之处不必多说。不过&#xff0c;由于个人或者团队的个性化需求&#xff0c;我们或多或少会想对其功能进行拓展&#xff0c;这时就需要开发插件&#xff08;在 IntelliJ 平台下的所有 IDE 均可运行&#x…...

【Ubuntu】Windows远程Ubuntu系统

步骤 开启ssh服务并开放22端口关闭防火墙ufw或iptables &#xff1b;或者将远程端口添加到入站与出站规则安装xrdp并将xrdp用户添加到ssl-cert用户组mstsc 远程&#xff0c;输入账号密码 1、开启ssh服务 1.1. 查看ssh是否已经开启 sudo ps -e | grep ssh如果最后返回是sshd…...

pipeline jenkins流水线

Pipeline 是 Jenkins 中一种灵活且强大的工作流机制&#xff0c;它允许您以代码的形式来定义和管理持续集成和持续交付的流程。 Pipeline 的作用主要体现在以下几个方面&#xff1a; 可编排的构建流程&#xff1a;使用 Pipeline&#xff0c;您可以将一个或多个阶段&#xff08…...

软件工程理论与实践 (吕云翔) 第六章 面向对象分析课后习题及其解析

第六章 面向对象分析 知识点: 一个典型的软件系统通常包括的内容为&#xff1a;它使用数据结构&#xff08;对象模型&#xff09;&#xff0c;执行操作&#xff08;动态模型&#xff09;&#xff0c;并且完成数据值的变化&#xff08;功能模型&#xff09;。 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 发布订阅模式 生产者 生产者发送消息到交换机&#xff08;logs&#xff09;,控制台输入消息作为生产者的消息发送 package com.esint.rabbitmq.work03;import com.esint.rabbitmq.RabbitMQUtils; import com.rabbitmq.client.Channel;import java.util.Scanne…...

VSCode打开Json 文件格式化

在VSCode中打开JSON文件时&#xff0c;你可以使用以下步骤来格式化JSON并显示为多行&#xff1a; 使用快捷键&#xff1a; 在打开的JSON文件中&#xff0c;使用快捷键格式化文档。 Windows/Linux&#xff1a;Shift Alt FmacOS&#xff1a;Shift Option F 右键菜单&#xff…...

【C++】:STL——标准模板库介绍 || string类

&#x1f4da;1.什么是STL STL(standard template libaray-标准模板库)&#xff1a;是C标准库的重要组成部分&#xff0c;不仅是一个可复用的组件库&#xff0c;而且 是一个包罗数据结构与算法的软件框架 &#x1f4da;2.STL的版本 原始版本 Alexander Stepanov、Meng Lee 在…...

Python小白之PyCharm仍然显示“No module named ‘xlwings‘”

Python小白之“没有名称为xlwings‘的模块”-CSDN博客文章浏览阅读8次。cmd 打开命令行&#xff0c;输入python出现>>>的提示格&#xff0c;输入import xlwings 回车&#xff0c;正常报错&#xff1a;No module named xlwings。输入python 回车后&#xff0c;再输入im…...

在Uni-app中实现计时器效果

本文将介绍如何在Uni-app中使用Vue.js的计时器功能实现一个简单的计时器效果。 首先&#xff0c;我们需要创建一个包含计时器的组件。以下是一个基本的计时器组件示例&#xff1a; <template><div class"timer"><p>{{ formatTime }}</p><…...

Linux脚本shell中将Windos格式字符转换为unix

众所周知&#xff0c;windos的文档直接复制到linux服务器上去&#xff0c;是需要进行格式转换的&#xff0c;否则可能出现以下报错&#xff1a; 解决方法&#xff1a; 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&#xff08;选举&#xff09;一天就完成了&#xff0c;主要是第一次开始写Raft需要稍微熟悉一下&#xff0c;但是几乎不用修改&#xff0c;很容易就通过了。不过到了Lab 2B就会发现2A能够通过纯属侥…...

MySql 数据库初始化,创建用户,创建数据库,授权

登录MySQL&#xff08;使用管理员账户&#xff09; mysql -u root -p 设置用户 -- 创建用户并设置密码 CREATE USER user_name% IDENTIFIED BY user_password;-- 删除用户 drop user user_name; 设置数据库 -- 创建数据库 CREATE DATABASE database_name;-- 删除数据库 DR…...

【洛谷算法题】P5712-Apples【入门2分支结构】

&#x1f468;‍&#x1f4bb;博客主页&#xff1a;花无缺 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5712-Apples【入门2分支结构】&#x1f30f;题目描述&#x1f30f;输入格式&…...

vue项目中的js文件使用vuex

使用场景&#xff1a;假设有一个接口&#xff0c;需要在很多页面获取一遍并且将接口的返回值保存起来&#xff0c;这样就能使用vuex&#xff0c;将值保存在vuex中 实现&#xff1a;vuex中新建firmModule.js文件&#xff0c;编写存储值的代码&#xff0c;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是一款免费的思维导图软件&#xff0c;适用于Mac电脑用户。它可以帮助你轻松创建、编辑和共享思维导图&#xff0c;让你的思维更加清晰、有条理。 首先&#xff0c;Mindomo Desktop for Mac具有直观易用的界面。它采用了Mac独特的用户界面设计&#xf…...

Spark资源规划-资源上线评估

1、总体原则 以单台服务器 128G 内存&#xff0c;32 线程为例。 先设定单个 Executor 核数&#xff0c;根据 Yarn 配置得出每个节点最多的 Executor 数量&#xff0c;每个节点的 yarn 内存/每个节点数量单个节点的数量 总的 executor 数单节点数量*节点数。 2、具体提交参数 …...

RT-Thread STM32F407 定时器

定时器简介 硬件定时器一般有 2 种工作模式&#xff0c;定时器模式和计数器模式。不管是工作在哪一种模式&#xff0c;实质都是通过内部计数器模块对脉冲信号进行计数。下面是定时器的一些重要概念。 计数器模式&#xff1a;对外部输入引脚的外部脉冲信号计数。 定时器模式&…...

测试微信模版消息推送

进入“开发接口管理”--“公众平台测试账号”&#xff0c;无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息&#xff1a; 关注测试号&#xff1a;扫二维码关注测试号。 发送模版消息&#xff1a; import requests da…...

练习(含atoi的模拟实现,自定义类型等练习)

一、结构体大小的计算及位段 &#xff08;结构体大小计算及位段 详解请看&#xff1a;自定义类型&#xff1a;结构体进阶-CSDN博客&#xff09; 1.在32位系统环境&#xff0c;编译选项为4字节对齐&#xff0c;那么sizeof(A)和sizeof(B)是多少&#xff1f; #pragma pack(4)st…...

Java如何权衡是使用无序的数组还是有序的数组

在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...

服务器硬防的应用场景都有哪些?

服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式&#xff0c;避免服务器受到各种恶意攻击和网络威胁&#xff0c;那么&#xff0c;服务器硬防通常都会应用在哪些场景当中呢&#xff1f; 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...

大语言模型如何处理长文本?常用文本分割技术详解

为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...

Nuxt.js 中的路由配置详解

Nuxt.js 通过其内置的路由系统简化了应用的路由配置&#xff0c;使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装

以下是基于 vant-ui&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...

镜像里切换为普通用户

如果你登录远程虚拟机默认就是 root 用户&#xff0c;但你不希望用 root 权限运行 ns-3&#xff08;这是对的&#xff0c;ns3 工具会拒绝 root&#xff09;&#xff0c;你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案&#xff1a;创建非 roo…...

【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】

1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件&#xff08;System Property Definition File&#xff09;&#xff0c;用于声明和管理 Bluetooth 模块相…...

ServerTrust 并非唯一

NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...