基于JSP网上书城的设计与实现
创始人
2024-03-17 02:00:29
0

项目描述

临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下,你想解决的问题,今天给大家介绍一篇缘来交友网站的设计与实现。

功能需求

按照系统不同用户分析,不同角色划分为三种用户,普通用户、后台管理用户以及系统会员用户。
在这里插入图片描述

注册:普通用户必须先进行注册,才能登录。绝对不能进行直接登录。
浏览图书:普通用户浏览图书类型、数量、用户对图书的评论等条件对图书图书进行总体浏览。
预订图书:用户进入网站,按照图书名称、类型点击查看图书价格、作者、书籍介绍、编制等。
搜索图书:根据图书名称、类型动态查询。

在这里插入图片描述

注册:普通用户必须先进行注册,才能登录。绝对不能进行直接登录。
浏览图书:普通用户浏览图书类型、数量、用户对图书的评论等条件对图书图书进行总体浏览。
预订图书:普通用户了解图书图书的详细信息,如图书位置、图书价格、图书大小、图书编号等。
搜索图书:根据图书名称、类型动态查询。
享受优惠:平台会员用户可以根据用户等级进行优惠购买。
在这里插入图片描述
登录:后台管理用户进入系统必须进行登录。
浏览图书:会员用户浏览图书图书类型、入住量、用户对图书的评价等条件对图书图书进行总体浏览。
预订图书:会员用户了解图书图书的详细信息,如书籍信息、图书价格、书籍内容大小、图书编制等。
搜索图书:可以搜索图书数量等。
管理员可以享受买书的折扣。

系统总体设计

在这里插入图片描述

部分效果图

在这里插入图片描述在这里插入图片描述

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

数据库设计

系统中用到了8张表,针对每个表都进行了设计,下面对部分核心表进行汇总罗列展示。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

部分代码
// 1.添加订单public void addOrder(Order order) {try {// 1.开启事务DataSourceUtils.startTransaction();// 2.完成操作// 2.1向orders表中添加数据odao.addProduct(order);// 2.2向orderItem表中添加数据oidao.addOrderItem(order);// 2.3修改商品表中数据.pdao.changeProductNum(order);} catch (SQLException e) {e.printStackTrace();try {DataSourceUtils.rollback(); // 事务回滚} catch (SQLException e1) {e1.printStackTrace();}} finally {try {// 关闭,释放以及提交事务DataSourceUtils.releaseAndCloseConnection();} catch (SQLException e) {e.printStackTrace();}}}// 根据用户查找订单public List findOrderByUser(User user) {List orders = null;try {// 查找出订单信息orders = odao.findOrderByUser(user);// // 查找出订单项信息.// for (Order order : orders) {// List items = oidao.findOrderItemByOrder(order);// //查找到订单中的订单项信息//// order.setOrderItems(items);// }} catch (SQLException e) {e.printStackTrace();}return orders;}// 根据id查找订单public Order findOrderById(String id) {Order order = null;try {order = odao.findOrderById(id);List items = oidao.findOrderItemByOrder(order);order.setOrderItems(items);} catch (SQLException e) {e.printStackTrace();}return order;}// 查找所有订单public List findAllOrder() {List orders = null;try {// 查找出订单信息orders = odao.findAllOrder();} catch (SQLException e) {e.printStackTrace();}return orders;}// 支付成功后修改订单状态public void updateState(String id) {try {odao.updateOrderState(id);} catch (SQLException e) {e.printStackTrace();}}// 多条件查询订单信息public List findOrderByManyCondition(String id, String receiverName) {List orders = null;try {orders = odao.findOrderByManyCondition(id, receiverName);} catch (SQLException e) {e.printStackTrace();}return orders;}//根据id删除订单 管理员删除订单public void delOrderById(String id) {			try {DataSourceUtils.startTransaction();//开启事务oidao.delOrderItems(id);odao.delOrderById(id);} catch (SQLException e) {e.printStackTrace();try {DataSourceUtils.rollback();} catch (SQLException e1) {e1.printStackTrace();}}finally{try {DataSourceUtils.releaseAndCloseConnection();} catch (SQLException e) {e.printStackTrace();}}		}//普通用户删除订单public void delOrderByIdWithClient(String id) {try {DataSourceUtils.startTransaction();//开启事务//从订单项中查找商品购买数量Order order=new Order();order.setId(id);List items=oidao.findOrderItemByOrder(order);//修改商品数量			pdao.updateProductNum(items);						oidao.delOrderItems(id); //删除订单项odao.delOrderById(id); //删除订单} catch (SQLException e) {e.printStackTrace();try {DataSourceUtils.rollback();} catch (SQLException e1) {e1.printStackTrace();}}finally{try {DataSourceUtils.releaseAndCloseConnection();} catch (SQLException e) {e.printStackTrace();}}}
安装部署需求

eclipse、idea运行启动

系统部署

系统开发后,在生产环境配置项目运行环境,具体步骤如下:
安装linux或者windows10操作系统;
安装JDK1.8并配置环境变量;
安装MySQL5.7版本以上版本数据库,创建数据库并执行脚本创建表;
在IDEA中编辑进行打包;
下载并配置Tomcat8.0服务器,配置系统服务,上传项目打包文件

本项目用到的技术和框架

1.开发语言:Java
2.开发模式:B/S
3.数据库:MySQL
4.框架:jsp+jdbc+servlet

本项目中的关键点

此系统的开发采用java语言开发,基于B/S结构,这些开发环境使系统更加完善。使用到的工具和技术都是开源免费的。

环境工具

开发工具 Eclipse/IDEA
语言 JDK1.8 、jsp、CSS、servlet
硬件:笔记本电脑;
软件:Tomcat8.0 Web服务器、Navicat数据库客户端、MySQL;
操作系统:Windows 10;
其它软件:截图工具、常用浏览器;
以上是本系统的部分功能展示,如果你的选题正好相符,那么可以做毕业设计或课程设计使用。

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...