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

基于JSP网上书城的设计与实现

项目描述

临近学期结束,还是毕业设计,你还在做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<Order> findOrderByUser(User user) {
		List<Order> orders = null;
		try {
			// 查找出订单信息
			orders = odao.findOrderByUser(user);

			// // 查找出订单项信息.
			// for (Order order : orders) {
			// List<OrderItem> 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<OrderItem> items = oidao.findOrderItemByOrder(order);
			order.setOrderItems(items);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return order;
	}
	// 查找所有订单
	public List<Order> findAllOrder() {
		List<Order> 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<Order> findOrderByManyCondition(String id, String receiverName) {
		List<Order> 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<OrderItem> 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;
其它软件:截图工具、常用浏览器;
以上是本系统的部分功能展示,如果你的选题正好相符,那么可以做毕业设计或课程设计使用。


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

相关文章:

  • SpringBoot(八)使用AES库对字符串进行加密解密
  • Unity资源打包Addressable资源保存在项目中
  • Android 下内联汇编,Android Studio 汇编开发
  • WordPress 2024主题实例镜像
  • PaaS云原生:分布式集群中如何构建自动化压测工具
  • docker compose 多个 Dockerfile
  • QJson-趟过的各种坑(先坑后用法)
  • 前端简明教程--初体验
  • 使用vscode 连接linux进行开发
  • 2款使用.NET开发的数据库系统
  • React 探秘(四):手撸 mini-react
  • lua入门教程:type函数
  • 第二十周学习周报
  • 工程认证与Spring Boot:计算机课程管理的新挑战
  • toRef,toRefs,toRaw
  • Centos7 安装RabbitMQ以及web管理插件
  • playwright使用
  • 大模型预训练+微调大模型;大模型提示/指令模式”(Prompt/Instruct Mode)
  • AUTOSAR CP TCP/IP堆栈规范导读
  • 一文熟悉新版llama.cpp使用并本地部署LLAMA
  • 秃姐学AI系列之:GRU——门控循环单元 | LSTM——长短期记忆网络
  • 盲盒小程序开发,盲盒经济正向线上转战发展
  • 地下水数值模拟、 地下水环评、Visual modflow Flex、Modflow
  • 思源笔记轻松连接本地Ollama大语言模型,开启AI写作新体验!
  • nodejs 019: React组件 JSX基础语法规则
  • 【FFmpeg】FFmpeg 函数简介 ③ ( 编解码相关函数 | FFmpeg 源码地址 | FFmpeg 解码器相关 结构体 和 函数 )