【JavaWeb】图书管理系统【总结】

使用Javaweb编写图书管理系统步骤及学习心得 在本学期中,学习Java高级的内容对于我来说非常的困难,由于基础不扎实的缘故没一次的项目实践都困难重重。流式编程,依赖注入,JDBCAPI数据访问,Optional等都是十分考验基本功和思维跳跃的能力的,但后期有通过练习不断的进步,让我有一点感觉得到的进步。 阅读详情

感想

该项目是目前为止,我写过代码量最多的项目了…..虽然清楚是没有含金量的【跟着视频来写的】,但感觉自己也在进步中……

写的过程中,出了不少的问题…..非常多的Servlet,JSP看得眼花…..

现在,想把该项目好好梳理一下要点,于是有了这篇博文….

E-R图

该项目涉及到了5个表:user、orders、orderItem、category、book

这里写图片描述

难点

E-R图设计中最难的地方就是做到订单模块那里…..

难点一

首先,要明白为什么在订单模块中设计Orders和OrderItem表两张表,而不是一张表Orders就搞掂了…当然了,这也可参考购物车案例的设计【Cart、CartItem】

  • 因为订单模块分了两个部分,一部分是显示普通的订单信息【定单人、价钱、订单时间、订单状态】
  • 而在后台中,我们还要在显示订单普通信息时,给予查看详细信息的功能【也就是订单的具体内容:具体的商品价钱、数量】

难点二:

订单模块我是最后才开始写的,订单模块和用户模块、图书模块都有相连,这就复杂了不少….

  • 一个用户可以拥有多个订单
  • 一个订单对应多个订单项
  • 一本图书对应多个订单项

难点三:

  • 在一对多和多对一的情况下,我们在考虑需不需要使用一方来维护另一方的时候。在原则上,我们都是使用多的一方来维护一的一方。
  • 那为什么有的时候,上面这句话就不成立了呢??是这样子的:当我们一的方在页面展示的时候,多的一方数据需要同时展示。此时,我们就需要在一的一方使用集合来维护多的一方了。比如:我们查看订单的时候,就肯定需要同时把所有的订单项都查询出来的。当查看购物车的时候,就肯定需要同时把购物项查询出来的
  • 而我们的分类与书籍就没有同时这个概念。在页面上,我们是点击分类,才需要把书籍查询出来。因此,我们是使用多的一方来维护一的一方。
  • 如果使用了一的一方来维护多的一方的话,那么一般都没必要在多的一方来使用变量来维护一的一方了[参照订单与订单项]

    Ps: 如果这部分有错的地方请指出,谢谢!

项目中遇到的要点

  1. 在Tomcat中创建文件夹不能是manager,不然会出现403 Access Denied错误
  2. frameset标签是可以嵌套的,分列用“cols”,分行用“rows”,在src后指定target,后面request跳转显示的页面都是在target指定的页面上
  3. 实现分页主要在Page类上编写代码,在DAO层中要获取总记录数、分页数据。start和end参数是通过currentPage和linesize来计算出来的。
  4. 获取分类后的分页数据,需要在DAO层中获取分类后的总记录数,以分类作为WHERE条件得到分页数据
  5. 提交表单中有上传文件的话,我们可以使用FileUpload组件。普通字段我们使用BeanUtils的setProperty()来封装数据到Bean对象上,文件我们就写到服务端的指定目录下
  6. 在分帧页面上,如果首页就要显示数据了,我们可以在frame标签的src上指定的是Servlet,Servlet再跳转回JSP,这样JSP页面就有数据了!
  7. 如果想要div不全是浮动,我们可以在后边跟一个清除浮动的div。<div style="clear: both"></div>
  8. 想要页面上的按钮能够完成对应的功能,需要用到JavaScript代码,通过DOM编程得到对应的数据,使用window.location.href,让它跳转到对应的Servlet上实现功能
  9. Cart和CartIem的设计上,CartItem的总价是数量*价钱,Cart的总价是全部CartItem的价钱之和。
  10. Cart应该提供把商品加到购物车的功能,判断该商品的购物项是否存在,不存在着创建并保存在里边。存在则购物项的数量+1
  11. BussinessService提供购买功能,参数是Cart和Book。
  12. 用户想要购买商品时,判断用户是否登陆了,还要判断购物车是否存在【购物车使用Session来保存】,不存在则创建。
  13. Mysql中不能将表命名为“order”,这样会出错
  14. 订单的基本信息可以在Cart和User中获取,订单项的基本信息可以在CartItem中获取。因此,在BussinessService中需要Cart【通过Cart就可以找到CartItem了】和User参数。
  15. 在生成订单的Dao中,需要把订单的基本信息,订单项的基本信息封装到数据库中
  16. 通过id查找订单的时候,先找出订单的基本信息。订单表和用户表联结,就可以查找出订单的用户。通过id也就可以查找出订单中所有的订单项了。最后把查找出来的数据全部封装到订单对象上。
  17. 想要让未发货的订单变成已发货,其实就是更新订单的状态。得到未发货的全部订单和已发货的全部订单,其实就是检索出不同状态的全部订单。
  18. 在Dao层中,我们需要的参数往往是单一的,要么是具体的对象,要么就是id…然而在Service层中,我们要的参数是与该实体类相连的。
    • 例子1:在生成订单的时候,Dao层仅仅需要Order对象参数。在Service层中,Order需要把User、Cart的数据封装到Order对象中,于是就需要了这两个参数。
    • 例子2:Cart提供了把商品添加到购物车的功能,参数只需要具体商品的id。而在Service中,它需要用户的购物车对象和具体商品的id。

如果文章有错的地方欢迎指正,大家互相交流。习惯在微信看技术文章,想要获取更多的Java资源的同学,可以关注微信公众号:Java3y

JavaWeb 图书管理系统 文章目录图书管理系统前言项目介绍数据库设计前端界面一览项目内容描述前端导航栏登录界面图书借阅Bootstrap后端Bean层Dao层Servlet 图书管理系统 文末我会给出项目的GitHub地址 前言 本项目是一个基于javaWeb的图书管理系统,实现了登录、注册和基本的CRUD操作 使用的技术是Servlet,jsp,ajax,bootstrap等 项目没有进行数据库调优(主要还是自己太菜了),所以应该无法撑起大规模访问 项目介绍 数据库设计 因为项目比较轻量级,功能不是太复杂,所以设计的数据库表也不 阅读详情

相关推荐

JavaWeb项目-图书管理系统

图书管理系统-JavaWeb项目,在我以前的学习的项目中没有这次这么系统完整,最多就是设计一些小程序,但是这次的实习不一样,可以说我觉得实习给我带来的最大的帮助就是使我对这门课程有了更多的兴趣,以及编程能力得到了更大的提升,有时候我自己都会感到很奇怪为什么自己会突然迷上了编程,近乎痴迷的爱,以前下了课堂书本就扔的远远的,但是自从学了java我就开始期盼着最后的实习,可以自己独立设计出一套系统之类的程序,所以我上课充满了激情,下了课有时我还喜欢自己在电脑上捣鼓捣鼓一些程序,去做一些小小的钻研。...

weixin_47725255的博客 1万+

bookStore项目总结

感想 该项目是目前为止,我写过代码量最多的项目了…..虽然清楚是没有含金量的【跟着视频来写的】,但感觉自己也在进步中….. 写的过程中,出了不少的问题…..非常多的Servlet,JSP看得眼花….. 现在,想把该项目好好梳理一下要点,于是有了这篇博文…. E-R图 该项目涉及到了5个表:user、orders、orderItem、category、book 难点 E-...

3y 946

javaweb图书管理系统

以下是一个简单的Java Web图书管理系统的代码示例,实现了基本的用户登录、添加书籍、查询书籍、修改书籍信息等功能。以上是一个简单的Java Web图书管理系统的代码示例,仅供参考。实际开发中,还需要考虑安全性、性能优化等方面的问题。参考上述示例代码中的login.jsp、addBook.jsp和bookList.jsp。2.后端接口代码(使用Servlet和JSP)

m0_56235386的博客 4464

Java Web图书管理系统总结(jsp+servlet+jdbc+javabean+dao)

这周进行了课程实践,题目是老掉牙的图书管理系统,因为一些原因,原本打算做前端的我做了全栈,虽然最后交的不是我写的,就当练手了。 首先上部分运行截图: 前端部分:采用bootstrap与layui结合,导航栏,输入框,按钮用的layui,表格用的bootstrap,大部分样式在原有框架的基础上进行了重构。 后端部分:管理员对用户和图书的管理,用户对图书的各种操作均是对数据库的更改,为 ...

Andrelia的博客 1万+

java图书馆管理系统项目总结PPT

java图书馆管理系统的项目总结PPT,希望能对大家有帮助

高光谱图像处理和分析软件(包含雷尼绍Renishaw wdf 文件导入解析功能)

是一款基于微软windows操作系统的多传感器成像工具,用于处理和分析高光谱图像。它是一个模块化的系统,由一个基本的引擎,一个图形用户界面,一个化学计量工具箱和可选的用户提供的模块组成。它支持最重要的光谱成像技术,如UV/Vis、红外、拉曼、太赫兹、光发射/吸收和质谱。除此之外,还允许用户将高光谱图像与物理属性图和传统高分辨率彩色照片合并在一起 链接:https://pan.baidu.com/s/1ruQ5YSh5_ZS9wx_V3Q5Oow 提取码:qdx0 ...

业余程序员小徐的博客 8072

javaweb--书城项目阶段总结(一)

一,表单校验: 静态页面 包括:首页,注册,注册成功,登录页面等 验证用户名,密码这些用到了正则表达式**

mono的博客 1677

MATLAB实战:四桥臂逆变器3D-SVPWM调制算法仿真全流程(附代码)

本文提供了一份完整的MATLAB/Simulink实战指南,详细解析了四桥臂逆变器的3D-SVPWM调制算法仿真全流程。文章从工程实践出发,手把手指导如何搭建模型,涵盖从abc静止坐标系变换、三维空间矢量区域判定、作用时间计算到PWM信号生成与调试等核心环节,并附有代码示例和常见问题解决方案,旨在帮助工程师快速掌握这一应对不平衡负载的高效调制技术。

qsc90123456的博客 234

Javaweb基于ssm框架实现图书管理系统

前些天一直没有开学在家打王者,突然意识到有些荒废,于是做了一个基于ssm框架的图书管理系统,来做一下自我安慰吧。 先上效果图: 如上图所示,首页已经展示了主要的功能,这里我再细说一下吧: 首页: 首页的主要功能大部分都实现不了(首页主要用来展示一下小编的审美,前端是layui的组件拼接的,使用过layui的应该一眼就看出来了)前面纯属皮一下,这个管理系统需要身份的识别,需要先进行登录,在最右上角,点开登录有两种身份的登录方式:普通用户和管理员。 登录过后就会知道服务器关闭之前身份信息都会一直携带在.

归途 4289

Sinutrain下载安装与开启OPC UA---kalrry

Sinutrain 开启 OPC UA 本教程只适用于版本,其他版本配置目录有所改变建议安装到默认路径,否则后期修改路径时候容易忽略细节本教程提供安装包为官方包,网上有些非官方包安装后容易出现授权问题,比如授权管理器无法启动,官方技术会建议你重装系统,很多时候是因为安装包非官方包在首次安装前,建议重启一遍系统。

kalrry 1万+

金蝶云星空核心数据表解析与高效关联查询指南

本文深入解析金蝶云星空核心数据表结构,提供高效关联查询的实战指南。文章详细介绍了基础资料、业务单据和财务模块的关键表及其关联逻辑,重点阐述了如何利用关联表(_LK表)进行跨单据溯源,并分享了编写高性能SQL的实用技巧与避坑建议,帮助开发者、实施顾问和数据分析师快速掌握数据查询方法,提升工作效率。

weixin_29254673的博客 526

Javaweb项目:基于JavaWeb的图书管理系统(有源码)

基于JavaWeb开发的图书管理系统实现功能数据库运行环境 图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。图书馆信息管理作为计算机应用的一个分支,有着手工管理无法比拟的优点,如检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点很大程度的提高了管理图书馆信息的工作效率,节省了大量资金,方便了师生对图书的借阅和归还。 图书馆管理系统代表了图书馆管理的信息化,不仅是体现图书馆现代化形

MakkaPakkaa的博客 8万+

Autodesk激活无无网络选项?许可类型与脱机激活排查修复指南

软件许可激活是保障正版授权正常使用的核心环节,常见的授权模式包括单机版许可和网络版许可,两者在认证机制和应用场景上有所区别。单机版离线授权依托 FlexNet Licensing Service 等底层服务组件,在断网或内网环境下为用户提供可靠的技术支持与授权验证路径。然而在实际部署中,激活窗口并不总是显示“无网络激活方式”入口,这可能与许可类型选择、网络环境干扰、组件安装残留或系统时间偏差有关。理解入口的动态呈现逻辑与排查顺序,有助于在 AutoCAD、Revit 等 Autodesk 产品中高效解决脱机

weixin_28709649的博客 355

JavaWeb图书管理系统(必定解决所需)

javaWeb图书管理系统(附源码)

qq_61465103的博客 2万+

解密CANoe数据回放:从BLF到ASC的格式转换与优化策略

本文深入解析CANoe数据回放中BLF与ASC格式的转换与优化策略,帮助工程师高效处理汽车电子测试数据。详细介绍了两种格式的特性、转换方法及性能优化技巧,包括CANoe内置功能、命令行自动化和第三方工具应用,提升故障诊断和系统验证效率。

weixin_28331555的博客 537

第七节:Vben Admin 最新 v5.0 (vben5) + Python Flask 快速入门 - 用户管理(上)

本节的内容是用户管理,后端Python代码的实现。

cuiwin的专栏 779

JavaWeb图书管理系统完整版

JavaWeb图书管理系统完整版遵循MVC编程模式,基于Servlet、Bootstrap、MySQL等主要技术,实现了用户、管理员登录、用户注册、图书管理、图书类别管理、用户管理、借阅、归还书籍、借阅信息记录、退出登录等功能。项目涉及联表查询、图书-图书类别表拆分、session等技术。整个项目使用到14个JSP页面,功能相对完备,且功能操作方式符合逻辑、人性化。项目使用了Bootstrap前端ui框架,前端页面整洁美观。详情请参见“详细功能示例”部分。

m0_75223169的博客 7909

搭建一个简单的 Django + Vue 项目

在本文中,我将为您详细介绍如何搭建一个简单的 Django + Vue 项目。Django 是一个使用 Python 编写的高级 Web 框架,而 Vue 是一个流行的 JavaScript 框架,用于构建用户界面。通过结合 Django 和 Vue,我们可以创建强大的全栈 Web 应用程序。创建 Django 项目设置 Django 后端创建 Vue 前端连接 Django 和 Vue让我们开始吧!

JfpBlockchain的博客 352

JavaWeb图书管理系统【源码 + 效果展示】

JavaWeb图书管理系统【源码 + 效果展示】

upward 1万+

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

springboot基于JavaWeb图书管理系统

通过该系统,图书馆能够更好地管理图书资源,提高图书利用率,同时也为读者提供更加丰富、便捷的阅读体验。传统的图书管理方式存在操作复杂、效率低下、容易出错等问题,而数字化管理系统则能够有效地解决这些问题,提高管理效率,提供更好的用户体验。基于Spring Boot的JavaWeb图书管理系统是一种高效、便捷的图书管理工具,它结合了Spring Boot框架和JavaWeb技术的优势,为图书馆或图书管理机构提供了全面、自动化的解决方案。用户可以通过系统查询自己的借阅记录,并了解借阅图书的归还日期等信息。

QQ79278590的博客 672

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

大二JavaWeb课程设计——图书管理系统(可以很好的应付老师的作业)

大二JavaWeb课程设计————图书管理系统(适合新手) 好兄弟们给个机会看一看吧,啊sir们 这是一个图书管理系统,由于老师不让用任何框架,所以用原生的JavaWeb写的,所有的前后端代码都是自己写的,很适合刚入门的新手学习,之所以没有用JavaScript是因为觉得没必要,C3的过渡和动画足以实现很多动态效果,模板引擎用的JSP,想要源码私信一下即可 项目目录结构一览图(下面有具体的每部分的作用的讲解) 内容目录说明 一、采用的工具与技术栈 二、图书管理系统数据库的设计 三、成品项目的目录结构展示与

qq_43240702的博客 7万+

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

基于MVC框架开发开发JavaWeb图书管理系统

基于MVC框架开发开发JavaWeb图书管理系统,便于初学者对框架结构搭建的理解.内容太多没有一一说明,文末附有项目文件提取码

Chen__sir__的博客 2869

基于JavaWeb图书管理系统

图书管理系统是利用计算机和互联网技术对图书进行结构化、自动化管理的一种软件。它通过对图书的录入、分类、检索、借阅、归还等操作,实现对图书资源的有效管理和利用。基于JavaWeb的图书管理系统则利用了Java语言的跨平台性、安全性和高效性,以及Web技术的便捷性和可扩展性,为用户提供了一个功能完善、界面友好的图书管理平台。

2301_79795862的博客 972

JavaWeb实现图书管理系统

本文介绍了一个基于JavaWeb的图书管理系统,涵盖增删改查、分页查询、用户登录及验证码验证功能。系统采用JSP、Servlet和MySQL数据库,结合c3p0连接池与DBUtils工具实现数据操作,前端通过JSTL与JavaScript完成交互逻辑。

weixin_36431145的博客 763
上一篇: 图书管理系统【用户、购买、订单模块、添加权限】
下一篇: JavaScript面向对象入门
Java3y
Java3y 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
博客等级 码龄9年 1万+粉丝 509原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值