《2022年javaweb简单的图书管理系统.pdf》由会员分享,可在线阅读,更多相关《2022年javaweb简单的图书管理系统.pdf(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、javaweb 简单的图书管理系统实验报告实验课程 : Web 应用开发学生姓名 : 学号: 专业班级 : 2018 年 6 月 18 日精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 28 页 - - - - - - - - - - javaweb 简单的图书管理系统南昌大学实验报告学生姓名 : 学号: 专业班级 : 实验类型 : 验证 综合 设计 创新实验日期 : 实验成绩 : 一、实验项目名称Web应用开发综合训练二、实验目的与要求使用 Java+JSP+Servlet技术,选用 EL、
2、JSTL、Struts、Hibernate、myBatis、jQuery等技术 ,开发一个基本 Web 的应用程序 ,以达到掌握 Web 应用开发的基本原理、具备使用 Java+JSP+Servlet技术结合流行框架技术开发Web 应用程序的能力 ,从而提升学生的Web编程能力。要求学生自选题目 ,开发一个模拟的Web 应用程序。可以一人一题,也可以多人一题。但就是每人必须单独完成动态Web页面 10 页以上。要求学生根据需求描述独自完成需求分析,软件设计、程序模块设计以及程序的编写、调试与测试。设计与程序完成后 ,要求根据指定的格式要求 ,独自完成设计报告的撰写。三、实验基本情况本实训要求根
3、据下述需求陈述写出需求分析文本并进行软件开发,并列出源代码与运行结果。四、需求分析项目介绍这就是一个简单的图书管理系统,由一个管理员来实现对用户的删除,图书的增加 ,修改与图书的删除功能 ,用户注册登录后可以实现对图书的借阅与归还。由于时间关系在设计项目时有很多不好的地方,未来得及修改 ,在管理员登录界面采用了图形验证码,由于就是同样的技术 ,在用户登录界面就没有采用图形验证技术。功能需求1. 用户注册2. 图书添加精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 28 页 - - - - -
4、- - - - - javaweb 简单的图书管理系统3. 图书修改4. 用户管理5. 图书借阅6. 归还图书五、软件设计ER 图精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 28 页 - - - - - - - - - - javaweb 简单的图书管理系统程序流程精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 28 页 - - - - - - - - - - javaweb 简单的图书管
5、理系统精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 28 页 - - - - - - - - - - javaweb 简单的图书管理系统数据库设计精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 28 页 - - - - - - - - - - javaweb 简单的图书管理系统模块设计及运行结果项目整体采用MVC 模式 ,整体上运用jsp+javabean+servlet+jdbc+dao,
6、 每个 jsp 页面采用jQuery 技术作为背景 ,实现简单的动态背景,部分页面运用EL、JSTL、js 中的点击事件、Bootsrap、图形验证码、分页技术以及邮箱页面。六、源代码1、用户类 User、Java package vo; publicclass User private String name, pwd; public String getName() returnname; publicvoid setName(String name) this、name = name; public String getPwd() returnpwd; publicvoid setPwd
7、(String pwd) this、pwd = pwd; 2、图书类 bookinfo 、java package vo; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 7 页,共 28 页 - - - - - - - - - - javaweb 简单的图书管理系统publicclass bookinfo private String bno, bname, author, price, other; public String getBno() returnbno ; publicvoid setBn
8、o(String bno) this、bno = bno; public String getBname() returnbname; publicvoid setBname(String bname) this、bname = bname; public String getAuthor() returnauthor; publicvoid setAuthor(String author) this、author = author; public String getPrice() returnprice; publicvoid setPrice(String price) this、pri
9、ce = price; public String getOther() returnother; publicvoid setOther(String other) this、other = other; 3、借书信息类 lendbook、info package vo; publicclass lendbook private String username , bno, bname, author, price, other; public String getUsername() returnusername ; publicvoid setUsername(String userna
10、me) 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 28 页 - - - - - - - - - - javaweb 简单的图书管理系统this、username = username; public String getBno() returnbno ; publicvoid setBno(String bno) this、bno = bno; public String getBname() returnbname; publicvoid setBname(String bname)
11、this、bname = bname; public String getAuthor() returnauthor; publicvoid setAuthor(String author) this、author = author; public String getPrice() returnprice; publicvoid setPrice(String price) this、price = price; public String getOther() returnother; publicvoid setOther(String other) this、other = other
12、; 4、用户功能 UserDao、java package dao; import java 、util 、List; import java 、sql、*; import java 、util 、ArrayList; import vo 、bookinfo; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 9 页,共 28 页 - - - - - - - - - - javaweb 简单的图书管理系统import vo 、User; import vo 、lendbook; import dbc 、Jd
13、bcUtil; public class UserDao public void add(User user) throws Exception/添加用户Connection conn=null; PreparedStatement ps=null; try conn=JdbcUtil 、getConnection(); String sql=insert into user values(?,?); ps=conn、prepareStatement(sql); ps、setString(1, user、getName(); ps、setString(2, user、getPwd(); ps、
14、executeUpdate(); finally JdbcUtil 、free(null, ps, conn); 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 10 页,共 28 页 - - - - - - - - - - javaweb 简单的图书管理系统public void add_book(bookinfo book) throws Exception/添加图书Connection conn=null; PreparedStatement ps=null; try conn=JdbcUtil 、
15、getConnection(); String sql=insert into book_info values(?,?,?,?,?); ps=conn、prepareStatement(sql); ps、setString(1, book、getBno(); ps、setString(2, book、getBname(); ps、setString(3, book、getAuthor(); ps、setString(4, book、getPrice(); ps、setString(5, book、getOther(); ps、executeUpdate(); finally JdbcUtil
16、 、free(null, ps, conn); public void lend_book(lendbook book) throws Exception/借出图书Connection conn=null; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 11 页,共 28 页 - - - - - - - - - - javaweb 简单的图书管理系统PreparedStatement ps=null; try conn=JdbcUtil 、getConnection(); String sql=inse
17、rt into lendbook values(?,?,?,?,?,?); ps=conn、prepareStatement(sql); ps、setString(1, book、getUsername(); ps、setInt(2, Integer 、parseInt(book 、getBno(); ps、setString(3, book、getBname(); ps、setString(4, book、getAuthor(); ps、setString(5, book、getPrice(); ps、setString(6, book、getOther(); ps、executeUpdat
18、e(); finally JdbcUtil 、free(null, ps, conn); public List QueryAll() throws Exception/列出全部用户 Connection conn=null; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 12 页,共 28 页 - - - - - - - - - - javaweb 简单的图书管理系统PreparedStatement ps=null; ResultSet rs=null; List userList=new Arra
19、yList(); try conn=JdbcUtil 、getConnection(); String sql=select * from user; ps=conn、prepareStatement(sql); rs=ps、executeQuery(); while(rs 、next() User user=new User(); user、setName(rs、getString(1); user、setPwd(rs、getString(2); userList 、add(user); finally JdbcUtil 、free(rs, ps, conn); return userLis
20、t; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 13 页,共 28 页 - - - - - - - - - - javaweb 简单的图书管理系统public void delete(String bookno) throws Exception/删除图书 Connection conn=null; PreparedStatement ps=null; try conn=JdbcUtil 、getConnection(); String sql=delete from book_info where
21、 bno=?; ps=conn、prepareStatement(sql); ps、setString(1, bookno); ps、executeUpdate(); finally JdbcUtil 、free(null, ps, conn); public void returnbook(String bno,String username) throws Exception/归还图书 Connection conn=null; PreparedStatement ps=null; try conn=JdbcUtil 、getConnection(); 精品资料 - - - 欢迎下载 -
22、- - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 14 页,共 28 页 - - - - - - - - - - javaweb 简单的图书管理系统String sql=delete from lendbook where bno=? and username=?; ps=conn、prepareStatement(sql); ps、setString(1, bno); ps、setString(2, username); ps、executeUpdate(); finally JdbcUtil 、free(null, ps, conn);
23、public void delete_user(String username) throws Exception/删除用户 Connection conn=null; PreparedStatement ps=null; try conn=JdbcUtil 、getConnection(); String sql=delete from user where name=?; ps=conn、prepareStatement(sql); ps、setString(1, username); ps、executeUpdate(); finally 精品资料 - - - 欢迎下载 - - - -
24、- - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 15 页,共 28 页 - - - - - - - - - - javaweb 简单的图书管理系统JdbcUtil 、free(null, ps, conn); public int getPageCount() throws Exception/分页Connection conn=null; PreparedStatement ps=null; ResultSet rs=null; int recordCount=0,t1=0,t2=0; try conn=JdbcUtil 、getConnection
25、(); String sql=select count(*) from book_info; ps=conn、prepareStatement(sql); rs=ps、executeQuery(); rs、next(); recordCount=rs 、getInt(1); t1=recordCount%5; t2=recordCount/5; finally JdbcUtil 、free(null, ps, conn); 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 16 页,共 28 页 - - -
26、 - - - - - - - javaweb 简单的图书管理系统 return t1=0?t2:t2+1; public List QueryAll_book(int pageNo) throws Exception/列出全部图书 Connection conn=null; PreparedStatement ps=null; ResultSet rs=null; int pageSize=5; int startRecno=(pageNo-1)*pageSize; List bookList=new ArrayList(); try conn=JdbcUtil 、getConnection(
27、); String sql=select * from book_info order by bno limit ?,?; ps=conn、prepareStatement(sql); ps、setInt(1, startRecno); ps、setInt(2, pageSize); rs=ps、executeQuery(); while(rs 、next() bookinfo book=new bookinfo(); 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 17 页,共 28 页 - - - -
28、 - - - - - - javaweb 简单的图书管理系统book、setBno(rs、getString(1); book、setBname(rs、getString(2); book、setAuthor(rs 、getString(3); book、setPrice(rs、getString(4); book、setOther(rs、getString(5); bookList 、add(book); finally JdbcUtil 、free(rs, ps, conn); return bookList; public List QueryAll_lendbook(String us
29、ername) throws Exception/ 列出已借图书 Connection conn=null; PreparedStatement ps=null; ResultSet rs=null; List bookList=new ArrayList(); try 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 18 页,共 28 页 - - - - - - - - - - javaweb 简单的图书管理系统 conn=JdbcUtil 、getConnection(); String sql=se
30、lect * from lendbook where username=?; ps=conn、prepareStatement(sql); ps、setString(1,username ); rs=ps、executeQuery(); while(rs 、next() lendbook book=new lendbook(); book、setUsername(rs、getString(1); book、setBno(rs、getString(2); book、setBname(rs、getString(3); book、setAuthor(rs 、getString(4); book、se
31、tPrice(rs、getString(5); book、setOther(rs、getString(6); bookList 、add(book); finally JdbcUtil 、free(rs, ps, conn); return bookList; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 19 页,共 28 页 - - - - - - - - - - javaweb 简单的图书管理系统 public void modify_book(bookinfo book) throws Exce
32、ption/修改图书Connection conn=null; PreparedStatement ps=null; try conn=JdbcUtil 、getConnection(); String sql=update book_info set bname=?,author=?,price=?,other=? where bno=?; ps=conn、prepareStatement(sql); ps、setString(1, book、getBname(); ps、setString(2, book、getAuthor(); ps、setString(3, book、getPrice
33、(); ps、setString(4, book、getOther(); ps、setString(5, book、getBno(); ps、executeUpdate(); finally JdbcUtil 、free(null, ps, conn); 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 20 页,共 28 页 - - - - - - - - - - javaweb 简单的图书管理系统 5、获取表格值代码 : function getTableContent(node) var tr1 =
34、node、parentNode、parentNode; var name=tr1、cells0、innerText; window、location、href= /delete_user?name=+name; alert(name); 7. 背景 jQuery 代码由于代码过长 ,不展示 ; 七、运行结果1、管理员登录页面:管理员登录界面采用简单的CSS、 jQuery、以及图形验证码,当图形验证码输入不正确以及账号密码输入不正确会出现相相应提示,同时点击相信的输入框,提示输入对应类型的背景字体会消失 ,当鼠标点击其她地方时会相应出现,采用的就是placeholder 属性 ,我们平时单纯的
35、html的输入框以及提交的按钮,让人感觉不就是很舒适,采用简单的CSS将她们的边框去除,然后加上相应的边框。2、登录主界面 : 导航栏感谢 bootstrap 开源 ,运用了始终悬浮在顶部的导航栏,奈何页面长度有限不能向下滚动,无法瞧出这一功能 ,页面内容由于思维过于局限,暂时没有想出用什么内容来填充,只想到类似于积分的东西,这一内容在以后会作出改进,目前只有一个大概的模板,同时在改变页面的分辨率时导航栏中的功能选项会变成一个按钮,用一个 便签来装载 ,本页也有一个亮点便就是响应式,在改变分辨率时板块并不会发生错乱的现象,运用栅格系统思想,在第二张图张可以瞧到效果,由于调各种分辨率国语繁琐,所
36、以这一技术只在两个页面运用到,以后有时间会加以改善。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 21 页,共 28 页 - - - - - - - - - - javaweb 简单的图书管理系统精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 22 页,共 28 页 - - - - - - - - - - javaweb 简单的图书管理系统3、管理用户页面: 点击管理用户的小便签会出现用户的列表,点击删除用户可以将
37、用户从数据库中删除,同时页面中的几个小符号也就是运用bootstrap 中的组件 ,给人以更直观清楚的描述功能,在本页面我并没有采用分页技术 ,但就是在后面几个页面中有采用分页技术,在做页面的时候并没有考虑到有很多的用户,只就是用几个来验证,所以就没有用分页技术,在这个点击就删除的技术上一开始遇到了难题,并不知道怎么样去些控制的后台,后来在页面中运用了js 的技术 ,可以利用表格的结点来获取每个表格单元格的内容 ,再将按键设置为this,点击便就是获取当前行的值,并传到 servlet 中调用 dao 中删除用户的函数,便实现了。同时利用js 的鼠标事件 ,鼠标移动到当前行时会改变颜色。精品资
38、料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 23 页,共 28 页 - - - - - - - - - - javaweb 简单的图书管理系统4、添加图书页面: 添加图书的页面并没有多么的新奇,同样还导航栏加动态背景,同样输入框也运用了placeholder 属性 ,点击出现相应的字体与消失,将输入框中的字符串传到servlet 并调用 DAO 中的插入图书方法; 5、展示所有图书页面: 在本页面运用到了分页技术,同样单击删除图书可以得到表格内容,通过 js 传到 servlet 中再调用删除用户的功能 ,
39、就实现了删除用户,同时在列出图书时用到了EL 与 JSTL标签来循环输出;还有一个问题就就是我并没有考虑到大量图书的问题,没有用用单独的页面去实现查找功能,但就是相对很简单,所以并没有写。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 24 页,共 28 页 - - - - - - - - - - javaweb 简单的图书管理系统8.修改图书页面 : 本页面与添加图书页面几乎相同,只有调用的方法不同,调用的就是更新的方法9.用户注册及登录: 登录与注册页面大体相同,也只有调用的方法不一样精品资料 - -
40、 - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 25 页,共 28 页 - - - - - - - - - - javaweb 简单的图书管理系统10. 用户登录页面 : 在此页面运用了一个session 将用户名存进去,进入登录页面,会出现欢迎提示,同时也就是响应式的精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 26 页,共 28 页 - - - - - - - - - - javaweb 简单的图书管理系统栅格系统 ,由于没有
41、完善积分系统,所以就就是一些空白的框架。11. 借书页面 : 在借书页面先用EL 与 JSTL 标签输出可借的图书,其实在图书号前一栏还隐藏了一个用户名,点击借阅图书可以获取用户名与图书号,将值传到 servlet 调用插入的方法,将用户名与图书号作为主键,来区分不同的用户所借的图书,同时也运用了bootstrap 中的组件来使得功能键更加明显。12. 还书页面 : 由于没有点击很多本书,所以只出现了一本,原理在上个功能页面说了,与之类似 ,采用 EL 与 JSTL 标签循环输出 ,获取用户名与图书号来归还图书。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下
42、载 名师归纳 - - - - - - - - - -第 27 页,共 28 页 - - - - - - - - - - javaweb 简单的图书管理系统13. 联系与建议页面: 由于现在的管理员就是我,所以将收件人地址设置为默认邮箱,刚开始没有找到合适的jar 包,所以一直报错 ,这个只就是最简单的邮件页面,以后会更新成更高级一点的邮件发送,可以联系我们与用来采纳用户的意见八、体会与建议通过此次的项目 ,熟练掌握了基本的MVC 开发模式 ,并熟悉了一些其她内容 ,包括对 js 与 jQuery 的使用,解决了部分以前不懂的问题,为以后的开发提供了些许便利。参考图书 :javaweb 应用开发技术与案例教程张继军董卫 编著精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 28 页,共 28 页 - - - - - - - - - -