java web课程设计之图书管理系统
水了一学期的java web,终于在课设付出了代价,真是平时幼儿园,期末似高三做完课程设计,老师不让用框架,只能用HTML+CSS+JavaScript+JSP+Servlet+JavaBean+JDBC+DAO,当然我们悄咪咪的用了一点点EL,下面是用户端的一些基本功能的思路,写下来思路更清晰了
第五,六天任务
(1)用户借阅图书
(2)用户归还图书
(3)用户续借图书
(4)用户预约图书
写在前面,这四个功能看似简单,写起来却要有机结合,就比如借阅图书时,除了要判断这本书是否在馆,还要判断这本书是否被预约,被预约后还要判断这本书是被谁预约了,如果是当前借书人预约的话,就允许借阅,如果不是当前人预约的话,就提醒不允许借书,当然,判断当前借书人的借阅量是否大于0这是必不可少的。还有一点要注意,如果是预约的人将图书借走之后,要将预约记录删掉。还有还书的功能,也需要与预约结合起来,接下来我将介绍这几个功能的实现,及其操作页面。
(1)借阅图书:
流程图先整上,接下来将结合代码来解释整个借书流程
整个的借书流程是写在一个servelt中的,然后将处理结果传到jsp中。
String x = session.getAttribute("userid").toString();stu_id = Integer.parseInt(x);//将session中的学号取出String y = request.getParameter("book_id").toString();int book_id = Integer.parseInt(y);//取出借阅的书号
1.通过book_state.equals("不在馆")
来判断是否在馆
2.在馆后,再通过yyd.find_yuyue_book(book_id)
判断这本书是否被预约
3.如果被预约,就通过yyd.find_yuyue_stu(book_id)== stu_id
来判断当前借书人是否与预约人是同一个人
4.如果是一个人,通过std.select_id_num(stu_id)
来取得当前借书人的可借阅量
5.如果可借阅量大于0,则开始执行
boolean b = std.update_nownum(stu_id);int a = bko.book_update3(book);int c = jld.create(jl);int d = yyd.delete_yuyue(book_id);
其余情况都不允许借阅
如果没被预约,则执行上述第4、5步命令。
功能总结,借书的操作是基本操作之一,所以情况会比较复杂,要清晰的考虑到会发生的情况,以及对各个表的操作,借书写的好,还书、预约、续借都会简单许多。
(2)归还图书:
归还图书的操作是比较繁琐的,要涉及罚款,以及对预约本书人的通知,还是先上流程图
取出学号及书号的步骤同借书,就不重复说了
还书就没有那么多判断了,对数据库的操作的仍是对用户,对图书,对记录。通过STU.stu_update(stu)
修改用户借阅量+1;通过BK.book_update(bk)
修改图书状态为在馆
通过BK.book_update_xj(0, number)
修改图书的被续借次数为0(这里省去一个判断步骤,无论该本书是否被续借过,都直接归0)。
再通过JL.jl_update(jl)
修改用户对当前这本书的记录(一定要是当前的,因为这个人可能借了这本书很多次,sql语句要加一个jl_hdate is null)。
至此,还书操作结束,要考虑还书人是否逾期,将当前日期与应还日期做减法,并将结果通过request传到jsp中处理,如果h>0,一天1元,小于0,就不用罚款了。
最后,判断这本书是否被人预约,yyd.find_yuyue_book(number)
来判断是否被预约,如果被预约,则通过yyd.yuyue_update(x, number)
来修改预约记录的到书时间和截至时间,并通过联系方式发送提醒给预约者(这里是通过邮件)。
归还图书的操作比借书好写一点,主要没那么多判断情况,但还有下一步改善的地方,将还书操作提取到主页面中,通过书号及还书时间为空查询出记录,可直接还书。
(3)续借图书:
续借是这四个功能中最简单的操作了,只需判断书的续集次数是否等于0(规定每本书最多被当前借书人续借一次),上流程图
学号,书号的获得同上,通过bkd.find_xj(number) == 0
判断是否被需续借过,如果没被续借,则
int x = jdo.jl_update_yhuan(id, number);
修改应还时间
int y = bkd.book_update_xj(1, number);
修改图书续借状态
到此,续借就被完成了。
(4)预约图书:
其实预约图书的流程比续借图书还少,但要考虑清楚情况,而且预约的情况主要是在借书和还书中处理的,虽然简单,但还是流程图。
预约的判断和借书相比,还是比较简单的,只需要根据是否在馆和是否被预约来组成四周结果。
通过yyd.find_yuyue_book(number))
来判断是否被预约。结果组成如流程图,这里只说没被预约和不在馆,这样情况才被允许预约,通过Jl_DAO中的create()
函数来创建预约记录,预约的记录得创建将空出到书日和截至日期,这两个属性要等预约的书被还时才被添加(详情请见归还图书)。
java web课程设计之图书管理系统相关推荐
- 大学生课程设计 ------ Java Web课程设计(图书馆管理系统02)
大学生课程设计 ------ Java Web课程设计(图书馆管理系统02) Java Web课程设计(代码+课程报告) 项目分工情况(每个人完成那些功能或任务) 同学A:数据库设计,后台实现,前端与 ...
- 大学生课程设计 ------ Java Web课程设计(学生成绩管理系统03)
大学生课程设计 ------ Java Web课程设计(学生成绩管理系统03) Java Web课程设计(代码+课程报告) ---------------------我是分割线------------ ...
- 大学生课程设计 ------ Java Web课程设计(学生成绩管理系统01)
大学生课程设计 ------ Java Web课程设计(学生成绩管理系统01) Java Web课程设计(代码+课程报告) 课程作业效果如下: 学生1:后台实现.数据库设计.前端后台整合 学生2:前端 ...
- Java web课程设计-购物系统
题目:网上购物系统 网上购物商店的分析与实现 一.实验目的 Java web课程设计是为了是计算机学院的学子深入学习java web应用开发设置的一门实验性的动手性的实践课程.是计算机科学与技术. 网 ...
- java数据库图书销售系统_SQL+java数据库课程设计,图书销售管理系统
[实例简介] SQL数据库课程设计,图书销售管理系统,报告,任务书,挺全的 [实例截图] [核心代码] 07计本2班_15号_刘思旭_图书销售管理系统 └── 07计本2班_15号_刘思旭_图书销售管 ...
- c语言大作业书店图书管理系统,C语言_课程设计—书店图书管理系统.doc
计算机程序设计(C语言) 课程设计报告 题目:图书管理系统 学院: 专业: 班级: 学号: 姓名: 指导教师: 设计日期:2013年06月24日 一.选题背景: 设计一个图书管理系统,管理员通过登陆账 ...
- Java web 课程设计——图书馆管理系统(SSM)
题目要求 本网上图书馆系统应实现图书网上检索.预约和续借功能: 系统管理:定义读者类别并设置参数,添加.修改和删除读者信息. 图书续借和预约:实现图书的续借.预约等功能. 图书检索:按书名或作者等信息 ...
- c++图书管理系统_轻松学做C语言课程设计:图书管理系统-数组实现
C语言课程设计,对于初学者来说,主要是综合运用C语言基础知识,以实际项目的形式锻炼编程能力.从今天开始,一起轻松学做C语言课程设计常见项目,建议先运行代码,再一步步理解其实现. 题目要求 图书管理系统 ...
- Java Web课程设计
最近做java web的课程设计,因为某些原因没有用框架,但是用了commons-dbutils组件来简化数据操作,下面这个链接非常好的讲解了commons-dbutils,代码看源码就行,很容易看懂 ...
最新文章
- E20180525-hm
- linux删除U盘分区、创建分区和格式化
- python中类方法与实例方法的区别-python中类方法,实例方法,静态方法的作用和区别...
- C++语言学习思维导图
- 《Ext JS权威指南》印出来了,大家很快就能拿到书了
- 解决Android抽屉被击穿问题
- 操作系统安装与优化:chapter8 虚拟机
- Swift - UITableView状态切换效果
- 中职一年级计算机英语课件,中职生一年级英语.doc
- 疯狂ios讲义疯狂连载之实现游戏逻辑(2)
- idea maven dependencies 总是报红
- linux上derby数据库,体验纯Java数据库——Derby
- Objective-C中的typedef枚举是什么?
- 大数据催生智慧园区_杭州经纬智慧园区如何实现各系统间信息数据集中关联、一站管控...
- 两篇一区SCI可认定A类博士!享​200平住房+40万科启!硕士也入编!
- 百度谭中意:我和开源20年
- Mac PhotoShop CS6破解
- 一个苏州IT人的5年挨踢经历-------面试,薪资,企业,经历全方位揭示(之二)
- Kali linux 学习笔记(三十四)无线渗透——WPA攻击(PSK破解、AIROLIB、JTR、cowpatty、pyrit) 2020.3.13
- 跌才是机会,涨才是风险
热门文章
- 不撞南墙不回头----深度优先搜索
- linux解压时的tar -zxvf是什么意思?
- Contelec KL750-5K0/M-SE醉后不知天在水
- 百度云不限速下载(官方渠道,无风险)
- 百度浏览器的编程html,百度来路浏览器劫持代码(替换浏览器正在浏览页面)...
- DEEPCON: protein contact prediction using dilated convolutional neural networks with dropout
- 【天工Godwork精品教程】任务二:导入控制点、POS权重设置、连接点分布检查、自由空三
- Code For Better 谷歌开发者之声——使用谷歌浏览器 Chrome 更好地调试
- Eclipse打印Java的char默认值,出现方框原因
- P1757 通天之分组背包