基于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;
其它软件:截图工具、常用浏览器;
以上是本系统的部分功能展示,如果你的选题正好相符,那么可以做毕业设计或课程设计使用。