基于JSP和MySQL的网络图书管理系统

智术园

发布日期: 2020-12-11 09:32:49 浏览量: 1366
评分:
star star star star star star star star star star
*转载请注明来自write-bug.com

1 开发背景

1.1 系统开发背景与意义

随着互联网的发展,越来越多的高校图书馆开始创建自己的网站。基于互联网的信息服务已经成为现代大学一项不可缺少的内容。很多高校图书馆已不满足于建立一个简单的仅仅能够发布信息的静态网站。现代图书馆需要的是一个功能强大的,能为网络商务提供完善服务的且能够支持注册登录的网站。同时人们的生活方式也在随着发生改变,传统的购物方式已不能满足人们的需求。JSP是Sun公司推出的一种网站开发技术,Sun公司借助自己在Java.上的极高造诣,又把人们引进JSP时代,JSP即Java Server Page,它可以在Servlet和JavaBean的支持下,完成功能强大的Web应用程序。所以在我的毕业设计中,我采用了Myeclipse作为开发工具,设计了一个能实现基本的网络商务的小型动态商务网站——网上图书销售系统。我所设计的这个系统能实现用户的注册、登录功还能够实现商品的查询,订购等功能。该系统基本上都有一个网上商品销售系统应该有的常用功能,

该设计项目基本上体现了设计一个动态商务网站所需要的技术,可以说,目前的大型商务网站也就是我们这个小型网站在内容上的补充和完善。

随着时代的发展,信息技术、数据库技术的不断发展完善,网络进程的加快,传统的购物方式也越来越不能满足人们快节奏的生活需求,使得大部分企业的IT部门已经认识到Internet的优势,网络商务就是在这样一个背景下产生和发展起来的。伴随着网络商务技术的不断发展,网络商务的功能也越来越强大,注册登录的用户可以在网上搜索购买到自己想要的各种各样的商品,开始让人们体会到了足不出户,便可以凭自己喜好来购物的快感。我的毕业设计也就正是一个网络商务系统的开发—-网上图书销售系统。

随着计算机的广泛应用,其逐渐成为现代化的标志。甚至是书店,在正常运行的过程中总是面对很多的用户信息,书籍信息以及有时因些许客户因不想买或者不能卖该书所产生的借书信息、还书信息。因此需要对用户资源、书籍资源、借书信息、还书信息进行管理,及时了解各个环节中信息的变化,要对因此而产生的单据进行及时的处理,为了提高网络图书或者企业内部对网络图书以销售和未销售的自动化的管理,能够更加快速的满足用户的要求,提高各种工作的效率,现对其设计相应的系统,以达到上述的目的。

网络图书管理系统的主要功能是实现网络图书网络图书借阅和归还的管理的自动化。围绕这一主要功能,本系统涉及到以下主要的功能:借阅管理,归还管理。除了这些主要功能外,还包括一些基本的和辅助功能,它们分别是:图书查询、男性专区图书、女性专区图书、优质版权、特殊专栏、免费专栏、短篇、排行榜、书库。

1.2 研究内容

本课题主要研究的内容有:

  • 建立图书管理系统数据库管理图书和用户

  • 完成菜单栏,图书查询、男性专区图书、女性专区图书、优质版权、特殊专栏、免费专栏、短篇、排行榜、书库等选项

  • 管理网络图书的增删改查,实现借书还书功能

  • 实现账户管理,密码修改功能,并能增加用户、管理员

  • 能查看所有网络图书,已借阅网络图书,网络图书查询

1.3 文档的组织结构

本毕业设计主要是介绍基于JSP网络图书管理系统设计与实现。项目建立准备条件的设计,也就是开发环境的设计,数据库的建立等,该项目主要有以下内容:

  • 第一章:开发背景

  • 第二章:项目开发工具配置及介绍。本章主要说明了MyEclipse开发工具的使用等工具以及技术,本章都做了详细的介绍

  • 第三章:项目系统分析及概要设计。本章在第一章的基础上,创建数据库模型,并创建该系统需要的数据库表。通过本章的学习,可以试着了解怎样去建立一个数据库

  • 第四章:基于JSP网络图书管理系统设计与实现开发。项目系统分析及概要设计,具体介绍了此项目开发的具体步骤和方法,是整个项目的重点,本章主要有:主界面、男性专区与女性专区、特殊专栏、免费专栏、借阅管理

  • 第五章:总结与致谢

2 需求分析

2.1 可行性分析

部分只负责买进和售出的企业在运营过程中,经常会受到以下-些条件的限制:产品的宣传受到限制,采购商或顾客只能通过上门咨询、电话沟通等方式进行各种信息的获取,受一定的时间与物理空间的局限且成本较高。庞大的商业经济周转。复杂的产品周转渠道。从看样品、谈价格到支付货款等系列的产品周转案道过于复杂,

企业与顾客之间缺乏全面的沟通与快捷运营的平台。部分只负责买进和售出的企业中根据季节的变化,热销商品在销售高峰到来时货源紧张,企业需要实时了解商品的销售情况,保证热销商品的足够充足,能满足客户的需求量。因此,企业需要重新了解市场、消费者以及自身市场定位,正确认识网络商务技术在企业中的重要地位,以少量的时间和资金建立企业信息门户网站并架设-一定范围的商务网络,以此来制定长远发展战略,使企业与顾客间的经济活动变得更灵活、更主动。

本系统是一个中小型的网络商务系统—-网上书店,可以为各类用户提供方便的在线买书环境,符合目前国内流行的网络商务模式。用户可以在系统中实现注册、浏览商品搜索查询商品、下定单、处理定单等功能;管理员可以通过用户管理、定单管理、商品管理.评论管理等管理功能来对系统进行维护更新。在技术.上,目前市场上开发网络商务平台的技术很多,如ASP,PHP,PB,.NET 等。我采用SUN公司的JSP技术,它是目前市场上最流行的技术之一,JSP具有-次编译,处处运行的忧点。由分析可得,不论是商业还是技术上,网络图书管理系统的开发都是可行的。

2.1.1 经济可行性

经济可行性研究是对组织的经济状况和投资能力进行分析研究,对系统建设的运行和维护费用进行评估预算,对系统建成后有可能取得的社会效益和经济效益进行预估。因为这次的项目系统是作为毕业设计由我自己开发的,所以经济有限,系统完成之后为企业采购管理提供更多的便利,原因是服务器端的安装更加的简单易懂,客户机端不再需要安装任何软件,可以直接通过浏览器进行访问,无论你人咋哪里,在经济方面因为本项目主要是属于一个开放的系统,就是免费的系统,但是在经济方面也是有提升的空间,例如可以接一些广告之类的植入费,但是收益虽然小,但目前来说,这属于一个小型的系统,因为从投入的人力,财力物力的话来讲,他的花费也是比较小,所以经济上还是可行的。

2.1.2 技术可行性

技术可行性就要考虑现有的技术条件能否支持顺利完成开发工作,软硬件配置可不可以满足开发的需要等内容。通过本来就有的系统和开发系统的系统流程图和数据流图,对系统来进行评估比较,分析原有系统的优越性和运行后环境等对其影响程度的大小。在开发过程中,尽可能采用比较成熟的技术,用于提高该系统的成功率,并且其优化程度好,可操作性强,鉴于以上原因,因此,完成系统实现在技术上完全具有可行性。技术方面采用了当前比较流行的JSP框架,目前在网上这方面的资源也比较多,所以实现起来也比较容易开发的,软件也有很多,而而且也比较成熟,例如数据库Mysql,在本系统上面也不会出现很多性能问题,他的技术也比较发达,因为生活中有很多这种实例,所以在技术上是可行的。

2.1.3 操作可行性

这个系统总体来说操作简单,功能简单便捷。所以整个系统在系统操作上来说是可行的。

2.2 功能分析

  • 后台可管理图书,前台可以浏览信息

  • 后台可以对已经发布的信息进行删除或者修改

  • 管理员可管理系统内所有资源的权限

  • 管理员可修改密码

  • 用户可以查询图书,借阅图书

2.3 关键技术

我所使用的这个系统它是采纳面向对象的软件开发方法,以Java开发环境作为首要开发工具,用Mysql作为存储数据的仓库,再加上功能强大的SQL查询语言兑现创建一个存储数据的仓库,访问数据仓库,以及对数据仓库的更创新,都很好的落实了预定的功能。

2.3.1 JAVA简介

Java是当今新一代程序设计的编程语言,非常适合互联网应用的设计与开发。Java的产生与流行是当今Internet发展的客观要求,Java语言是一门性能优越的计算机语言,首先,它的最显著的特征是简单方便,易于理解,特别适合开发互联网应用系统。JAVA编程语言是一门完完全全的面向对象的语言,适合用来开发Internet程序,尤其在电商网站和信息系统中使用的非常广泛。由于它在保留了C语言的语句结构的同时去掉了指针、运算符重载、多继承等降低安全性、可靠性的元素。

2.3.2 MYSQL简介

MySQL是一个真正的多用户像仓库一样可以存储的服务器。它就是一个存储数据的仓库,它里面存储的数据就好像一些摆放整齐的物品,是由多不同的小程序和库组成。SQL语言是世界上最盛行的和规范的数据库编程语言。SQL语言是一种非常正规的语言,它让存储、更新和存取信息变得更加容易且简单。就比如,用户可以用SQL语言为某个销售系统查找商品信息以及存储顾客的信息一样,MySQL也能快捷的的保存数据。

2.4 开发工具

2.4.1 MyEclipse工具介绍

关于MyEclipse这个开发工具,它也是一个非常好用而且很方便的用于开发Java,MyEclipse的功能它是非常强大的。MyEclipse可以支持Java Servlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC数据库链接工具等多项功能。可以说MyEclipse是包括了目前世界上大部分主流开源产品的专属eclipse设计开发软件。

2.4.2 Tomcat工具介绍

Tomcat它是一种非常方便且好用的的小型服务器,里面的的程序代码都是免费的,并且支持访问量极少,所以常常被我们学生或者私人来使用程序设计中tomcat是最好的选择,换句话说,他是一个很好的软件,自己的电脑上面可以通过它对HTML页面进行访问请求。

3 系统设计

3.1 设计原则

该系统主要建立一个基于B/S模式的网络图书借阅管理系统,主要解决传统的图书管理系统中人工管理带来的检索速度慢,效率低,借阅归还网络图书量大,网络图书统计工作量大,藏书不能完成及时更新的问题,该系统可以对跟系统的三个用户类型的使用实现:

  • 对于用户在本系统的应用下可实现查询网络图书的藏书清单,方便的借阅网络图书,续借网络图书,归还网络图书,能够查询自己的借阅网络图书情况

  • 对于网络图书工作人员能够实现方便的对网络图书进行查询,方便的进行用户借阅情况查询,方便的进行借书还书处理等,便捷的对网络图书信息进行添加、修改、删除,对用户信息进行相关添加,修改等操作

  • 对于系统管理员可以对网络图书信息进行修改更新操作,对系统用户进行添加、修改等操作

3.2 网络图书管理系统结构图

网络图书模块管理该模块主要有网络图书增加、编辑、查询和网络图书删除三个功能,其描述如表2-1所示:

功能描述 对网络图书进行基本操作和信息管理
访问的数据库表 网络图书类型表:book_gl
进行的操作 添加、修改、删除网络图书,对网络图书的书号、书名、单价、作者、出版社等基本信息进行管理
产生的结果 对网络图书基本操作管理,对不同网络图书参数进行各自信息的设置管理
结果存储位置或输出 结果存储在网络图书类型表(book_gl)中,结果在网络图书查询页面输出

网络图书管理模块功能流程图

用户流程图

借阅管理模块功能该模块主要包含借书,还书两个子模块。

功能描述 对用户借阅网络图书进行基本操作和信息管理
访问的数据库表 网络图书信息表:book_gl,用户信息表:book_user,管理员信息表:book_biz
进行的操作 对用户借阅网络图书进行管理
产生的结果 用户借阅成功,系统对借阅信息进行记录
结果存储位置或输出 结果存储在网络图书信息表(book_gl)中,结果在网络图书借阅查询页面输出

还书的描述如表3-3所示:

功能描述 对用户归还网络图书进行基本操作和信息管理
访问的数据库表 网络图书信息表:book_gl 用户信息表:book_user 管理员信息表:book_biz
进行的操作 对用户借阅网络图书进行管理
产生的结果 用户借阅成功,系统对借阅信息进行记录
结果存储位置或输出 结果存储在网络图书归还表(book_gl)中

借阅管理模块模块功能流程图如图3.3所示:

账户管理模块功能该模块主要包含密码修改,用户账户管理,根管理员功能三个子模块。密码修改的描述如表3-4所示。

功能描述 对已登录系统的账户进行密码修改操作
访问的数据库表 管理员信息表:book_user
进行的操作 修改本账户密码
产生的结果 修改成功,旧密码将被新密码替换
结果存储位置或输出 结果存储在管理员信息表(book_user)中

用户账户管理的描述如表3-5 所示。

功能描述 对用户账号进行基本操作和信息管理
访问的数据库表 管理员信息表: book_user
进行的操作 增加、删除用户账号
产生的结果 操作成功,系统对用户账号信息进行记录或修改
结果存储位置或输出 结果存储在管理员信息表(book_user)中

管理员功能的描述如表3-6 所示。

功能描述 对管理员账号进行基本操作和信息管理
访问的数据库表 管理员信息表:book_biz
进行的操作 增加、删除管理员账号
产生的结果 操作成功,系统对管理员账号信息进行记录或修改
结果存储位置或输出 结果存储在管理员信息表(book_biz)中

账户管理模块模块功能流程图如图3.4所示:

查询管理模块功能该模块主要包含所有藏书,已借网络图书,网络图书查询三个子模块。

所有藏书的描述如表3-7所示:

功能描述 对网络图书藏书进行查询
访问的数据库表 网络图书信息表:book_gl
进行的操作 查询网络图书所有藏书
产生的结果 操作成功,系统对所有网络图书信息进行显示
结果存储位置或输出 结果存储在网络图书信息表(book_gl)中

已借网络图书的描述如表3-8所示:

功能描述 对已借网络图书进行查询
访问的数据库表 网络图书信息表:book_gl
进行的操作 查询已借网络图书
产生的结果 操作成功,系统对已借网络图书信息进行显示
结果存储位置或输出 结果存储在网络图书信息表(book_gl)中

网络图书查询的描述如表3-9所示。

功能描述 对网络图书名进行模糊查询筛选出需要的网络图书
访问的数据库表 网络图书信息表:book_gl
进行的操作 按网络图书名查询所需网络图书
产生的结果 操作成功,系统对筛选网络图书信息进行显示
结果存储位置或输出 结果存储在网络图书信息表(book_gl)中

查询模块模块功能流程图如表3.5所示:

各模块时序图下图所示:

登录时序图

男性专区与女性专区图书时序图

特殊专栏时序图

查询模块功能流程图

3.3 数据库设计概述

数据库是存储数据的大仓库,它是一个完整系统的基础,数据库设计的好与不好都将直接影响到整个系统的优劣。它已经成为现代信息系统不可分割的重要组成部分。

数据库具有较高的程序与数据独立性,同时还拥有方便简单的编写程序等优点,因大型的网站系统也是建立在数据库设计之上的。它既便于数据的集中管理,又有利于应用程序的研制和维护,提高了数据的利用性和兼容性。数据库设计是把现实世界的实体模型与需求转换成数据库的模型的过程,它是建立数据库应用系统的核心问题。数据库及其应用的性能都建立在良好的数据库设计的基础之上,数据库的数据是一切操作的基础,如果数据库设计不好,那么其它一切用于提高数据库性能的方法收效都是有限的。

设计数据库必须遵循一定的规则,在关系型数据库中,这种规则就是范式,范式是符合某一种级别的关系模式的集合。一般人们设计数据库遵循第三范式。即:数据库表中不包含已在其他表中包含的非主关键字信息。采用范式减少了数据冗余,节约了存储空间,同时加快了增、删、改的速度。

整个系统所包括的信息有网络图书信息、用户信息、管理员信息、网络图书状态信息。可将这些信息抽象为下列系统所需要的数据项和数据结构:

  • 网络书籍信息(网络书籍编号,网络书名,价格,作者大大,出版社,借阅人)

  • 管理员信息(用户名,密码)

  • 用户信息(用户名,密码)

如下是数据库关系图图3.10所示:

3.3.1 网络图书信息表结构设计

网络图书信息E-R图

网络图书信息表

列名 数据类型 可否为空 说明
book_Id int Not null 小说编号
book_name Varchar(30) Not null 小说名称
book_class Varchar(30) Not null 小说类型
book_price Varchar(30) null 小说价格
book_borrow Varchar(6) null 小说借还
book_beizhu Varchar(50) null 备注
book_user int Not null 小说使用人

3.3.2 管理员信息表结构设计

设计这个表是用来存储书籍管理员的身份信息的,根据管理员们的需求不一样从而对他们设置不同的权限,用来限制不同类型的管理员。

管理员信息E-R图

管理员信息表

字段名称 数据类型 可否为空 说明
uname Varchar(50) No 用户名
passwd Varchar(50) No 密码
id int Np 主键id

3.3.3 用户信息表结构设计

设计读者用户信息表是为了让书籍管理员能对读者进行管理,因为ReadId号码都是不相同且不重复的,这样做是由于读者用户在借阅图书时需要输入读者户的ReadId号码身份进行识别。

用户信息E-R图

用户员信息表

列名 数据类型 可否为空 说明
Id int Not null 主键-用户编号
uname Varchar(20) Not null 用户姓名
upass Varchar(20) Not null 用户密码
Email Varchar(20) null 用户邮箱
Phone int null 用户电话

4 系统实现

4.1 主界面

当用户打开首页页面,进入主页面,主页面如图4.1、4.2、4.3、4.4所示:

主页面01图

主页面02图

主页面03图

主页面04图

主页面05图

相关代码如下:

  1. 1. <div class="returnTop_Img"></div>
  2. 2. <div class="returnTop_Img22"></div>
  3. 3. <div class="returnTop_Main">
  4. 4. <div class="returnTop_Box returnTop_Box1">
  5. 5. <div class="returnTop_In1 returnTop_In1_Hot">
  6. 6. <p>神作</p>
  7. 7. <p>推荐</p>
  8. 8. </div>
  9. 9. <div class="returnTop_In1">
  10. 10. <p>必看</p>
  11. 11. <p>新作</p>
  12. 12. </div>
  13. 13. <div class="returnTop_In1">
  14. 14. <p>完结</p>
  15. 15. <p>专区</p>
  16. 16. </div>
  17. 17. <div class="returnTop_In1">
  18. 18. <p>每日</p>
  19. 19. <p>更新</p>
  20. 20. </div>
  21. 21. <div class="returnTop_In1">
  22. 22. <p>神作</p>
  23. 23. <p>限免</p>
  24. 24. </div>
  25. 25. <div class="returnTop_In1">
  26. 26. <p>短篇</p>
  27. 27. <p>小说</p>
  28. 28. </div>
  29. 29. <div class="returnTop_In1">
  30. 30. <p>贤者</p>
  31. 31. <p>书评</p>
  32. 32. </div>
  33. 33. <div class="returnTop_In1">
  34. 34. <p>科学</p>
  35. 35. <p>艺术</p>
  36. 36. </div>
  37. 37. </div>
  38. 38. <div class="returnTop_Box returnTop_Box2">
  39. 39. <a href="https://www.8kana.com/active/index/download" target="_blank" class="returnTop_In2 returnTop_In2_APP">
  40. 40. APP下载
  41. 41. <div class="APPerweima">
  42. 42. <div class="APPerweima_Box">
  43. 43. <img src="static/picture/footer_erweimaapp.png" style="width: 100%; height: 100%;">
  44. 44. </div>
  45. 45. </div>
  46. 46. </a>
  47. 47. <div class="returnTop_In2" id="feedback_Btn">意见反馈</div>
  48. 48. <div class="returnTop_In2_Last">
  49. 49. <div class="returnTop_Btn_Icon"></div>
  50. 50. <div class="returnTop_In2_LastText">返回顶部</div>
  51. 51. </div>
  52. 52. </div>
  53. 53. <div class="clearfix returnTop_Border">
  54. 54. <div class="left returnTop_BorderIn"></div>
  55. 55. <div class="left returnTop_BorderIn"></div>
  56. 56. </div>
  57. 57. </div>
  58. 58. </div>
  59. 59. </div>
  60. 60. <!--返回顶部-->
  61. 61.
  62. 62. <!--顶部导航-->
  63. 63.
  64. 64. <div class="fixedNav">
  65. 65. <div class="clearfix fixedNav_In">
  66. 66. <div class="left fixedNav_Main">
  67. 67. <ul>
  68. 68. <li class="fixedNav_Hot">
  69. 69. <a href="/" class="fixedNav_MainIn">首页</a>
  70. 70. <div class="fixedNav_list">
  71. 71. <a href="/community/xzindex/index" target="_blank" class="fixedNav_listIn">贤者之城</a>
  72. 72. <a href="/community/ysindex/index" target="_blank" class="fixedNav_listIn">艺术工坊</a>
  73. 73. <a href="/bbs" target="_blank" class="fixedNav_listIn">暴风酒馆</a>
  74. 74. </div>
  75. 75. </li>
  76. 76. <li>
  77. 77. <a href="/www/bookclass/serial/7" class="fixedNav_MainIn">少女幻想</a>
  78. 78. </li>
  79. 79. <li>
  80. 80. <a href="/www/bookclass/serial/3" class="fixedNav_MainIn">烧脑</a>
  81. 81. </li>
  82. 82. <li>
  83. 83. <a href="/www/bookclass/serial/4" class="fixedNav_MainIn">轻小说</a>
  84. 84. </li>
  85. 85. <li>
  86. 86. <a href="/www/bookclass/serial/6" class="fixedNav_MainIn">神州</a>
  87. 87. </li>
  88. 88. <li>
  89. 89. <a href="/www/copyright" class="fixedNav_MainIn">优质版权</a>
  90. 90. </li>
  91. 91. <li>
  92. 92. <a href="/www/rank" class="fixedNav_MainIn">排行榜</a>
  93. 93. </li>
  94. 94. </ul>
  95. 95. </div>
  96. 96. <div class="left fixedNav_search">
  97. 97. <form id="search" action="/www/search" method="post">
  98. 98. <input type='hidden' id="hd_token2" name='' value='' />
  99. 99. <a href="javascript:" class="right nav_btn">
  100. 100. <span></span>
  101. 101. </a>
  102. 102. <div class="right fixedNav_Input">
  103. 103. <input type="text" name="keyword" placeholder="搜索你感兴趣的作品或作者">
  104. 104. </div>
  105. 105. </form>
  106. 106.
  107. 107. <script>
  108. 108. $("#search a").click(function() {
  109. 109. $("#search").submit();
  110. 110. });
  111. 111. </script>
  112. 112. </div>
  113. 113. <div class="right" id="LoginInfo1">
  114. 114. <div class="right IDphoto ">
  115. 115. <a rel="nofollow" class="IDphoto_a" href="/member/index/index" target="_blank"><img src="" id="UserAvatar1" style="width: 100%; height: 100%;"></a>
  116. 116. </div>
  117. 117. <a rel="nofollow" id="bookshelf_hot1" href="/member/bookshelf/index" class="right topBar_bookList" target="_blank">
  118. 118. <div class="clearfix right topBar_bookListText"><span class="left">书架</span><span id="bookshelf1" class="left"></span></div>
  119. 119. </a>
  120. 120. </div>
  121. 121. <!--未登录状-->
  122. 122. <div id="LoginUrl1" class="right topBarR_Index" style="display: none">
  123. 123. <div class="right topBarR_Index_login">
  124. 124. <script type="text/javascript">
  125. 125. var html = '';
  126. 126. html += '<a href="' + kana.getDomain('www') + '/www/passport/login?returnUrl=' + window.location.href + '" class="left topBarR_Index_login_Lbtn">登录</a>';
  127. 127. html += '<span class="left topBarR_Index_login_border">|</span>'
  128. 128. html += '<a href="' + kana.getDomain('www') + '/www/passport/register?returnUrl=' + window.location.href + '" class="left topBarR_Index_login_Rbtn">注册</a>';
  129. 129. document.write(html);
  130. 130. </script>
  131. 131. </div>
  132. 132. </div>
  133. 133. <!--未登录状态-->
  134. 134. </div>
  135. 135. </div>
  136. 136.

4.2 男性专区与女性专区图书

用户进入主界面,页面显示“首页”、“男性专区”、“女性专区”、“ 优质版权”、“特殊专栏”、“免费专栏”、“短篇”、“排行榜”的目录。点击“男性专区”进入男性专区的图书页面,里面是通过热门推荐选入男性专区的书籍页面。页面中显示第一本“九州问剑录”图书,以及该图书的相关信息,还有一些和书籍相关的链接,点击“女性专区”进入女性专区的图书页面,里面是通过热门推荐选入女性专区的书籍页面,和一些与书籍相关链接其中有免费的,有付费的图书页面如图4.5、4.6、4.7、4.8、4.9、4.10所示:

男性专区01图

男性专区02图

男性专区03图

女性专区01图

女性专区02图

女性专区03图

相关代码如下:

  1. 1. <div class="wrapper channel">
  2. 2. <div class="channelClassNav">
  3. 3. <a href="javascript:;" class="channelClassNav_In boy_channelClassNav_InHot">全部</a>
  4. 4. <a href="/www/bookclass/serial/7" class="channelClassNav_In ">少女幻想</a>
  5. 5. <a href="/www/bookclass/serial/8" class="channelClassNav_In ">浪漫现实</a>
  6. 6. <a href="/www/bookclass/serial/9" class="channelClassNav_In ">古风历史</a>
  7. 7. </div>
  8. 8. <div class="clearfix channelBox">
  9. 9. <div class="clearfix channelBox_Main">
  10. 10. <div class="channelBox_OneLeft">
  11. 11. <div class="channelBox_OneCover">
  12. 12. <div class="channelBox_OneCover_In" style=" ">
  13. 13. <a href="/book/26024.html" class="channelBox_OneCover_Img" target="_blank">
  14. 14. <img src="static/picture/26024_8b018_5574_m.jpg" style="width: 100%; height: 100%;"/>
  15. 15. <div class="CoverIcon_0"></div>
  16. 16. </a>
  17. 17. <a href="/book/26024.html" class="channelBox_OneBookInfo" target="_blank">
  18. 18. <div class="channelBox_OneBookName">拍砖打鬼进行中</div>
  19. 19. <div class="channelBox_OneBookAuthor">
  20. 20. <span class="channelBox_OneBookAuthorName">作者:拍砖姑娘</span>
  21. 21. <span>12.58万字 | </span>
  22. 22. <span class="channelClass_Color">少女幻想</span>
  23. 23. </div>
  24. 24. <div class="channelBox_OneBookSynopsis">身为一名宅女,花宝宝一觉睡醒,竟然被人打晕了。
  25. 25. 再次醒来,竟然有着一只胖胖的狐狸盯着自己,胡扯八扯些什么没的。
  26. 26. 自此,她一手板砖,身后一堆灵鬼尾随,王者霸气侧漏,从此走上人生的“巅峰”?
  27. 27.
  28. 28. Oh my god!?</div>
  29. 29. </a>
  30. 30. </div>
  31. 31. <div class="channelBox_OneCover_In" style="display: none ">
  32. 32. <a href="/book/27227.html" class="channelBox_OneCover_Img" target="_blank">
  33. 33. <img src="static/picture/27227_335da_5783_m.jpg" style="width: 100%; height: 100%;"/>
  34. 34. <div class="CoverIcon_0"></div>
  35. 35. </a>
  36. 36. <a href="/book/27227.html" class="channelBox_OneBookInfo" target="_blank">
  37. 37. <div class="channelBox_OneBookName">我那跃动而明亮的人生</div>
  38. 38. <div class="channelBox_OneBookAuthor">
  39. 39. <span class="channelBox_OneBookAuthorName">作者:木童心&魔界轮回</span>
  40. 40. <span>10.72万字 | </span>
  41. 41. <span class="channelClass_Color">浪漫现实</span>
  42. 42. </div>
  43. 43. <div class="channelBox_OneBookSynopsis">那高低起伏的排球挥洒着他们的汗水,又仿佛他们躁动不安的青春。
  44. 44. 那是他们彼此都难以割舍的过往。
  45. 45. 大猪蹄子,接我一记扣杀!</div>
  46. 46. </a>
  47. 47. </div>
  48. 48. <div class="channelBox_OneCover_In" style="display: none ">
  49. 49. <a href="/book/26795.html" class="channelBox_OneCover_Img" target="_blank">
  50. 50. <img src="static/picture/26795_2035d_5691_m.jpg" style="width: 100%; height: 100%;"/>
  51. 51. <div class="CoverIcon_0"></div>
  52. 52. </a>
  53. 53. <a href="/book/26795.html" class="channelBox_OneBookInfo" target="_blank">
  54. 54. <div class="channelBox_OneBookName">甜蜜过招999式</div>
  55. 55. <div class="channelBox_OneBookAuthor">
  56. 56. <span class="channelBox_OneBookAuthorName">作者:糖红豆</span>
  57. 57. <span class="channelClass_Color">浪漫现实</span>
  58. 58. </div>
  59. 59. <div class="channelBox_OneBookSynopsis">为完成奶奶临终前的心愿,原本生活平静的唐浅雪开启疯狂相亲之路,在接连相亲26次后,却在第27次相亲时,相错对象恋对人、偶遇被家人以死相逼出来相亲的腹黑霸道总裁白亦成,一见如故。
  60. 60. 二人当天领证闪婚,从此开始一段你追我躲的甜蜜撒粮生活。
  61. 61. (纯净无毒,粮大管饱)
  62. 62. </div>
  63. 63. </a>
  64. 64. </div>
  65. 65. <div class="channelBox_OneCover_In" style="display: none ">
  66. 66. <a href="/book/26393.html" class="channelBox_OneCover_Img" target="_blank">
  67. 67. <img src="static/picture/26393_a09dc_5618_m.jpg" style="width: 100%; height: 100%;"/>
  68. 68. <div class="CoverIcon_0"></div>
  69. 69. </a>
  70. 70. <a href="/book/26393.html" class="channelBox_OneBookInfo" target="_blank">
  71. 71. <div class="channelBox_OneBookName">高冷男友有点弯</div>
  72. 72. <div class="channelBox_OneBookAuthor">
  73. 73. <span class="channelBox_OneBookAuthorName">作者:素者</span>
  74. 74. <span>25.3万字 | </span>
  75. 75. <span class="channelClass_Color">浪漫现实</span>
  76. 76. </div>
  77. 77. <div class="channelBox_OneBookSynopsis">#不得志的可爱哭泣包女生VS又冷又甜的冰淇淋男生日常#
  78. 78. 他为了某个目的帮她追喜欢的人,她因某事感恩默默帮他掰直,结果……
  79. 79. 长得像个福娃娃般的可爱女生尴尬看着某高冷男,“那个,我,我误会...唔...”被壁咚强吻说不出话,真是好讨厌,但又觉得有点甜怎么破?</div>
  80. 80. </a>
  81. 81. </div>
  82. 82. <div class="channelBox_OneCover_In" style="display: none ">
  83. 83. <a href="/book/26104.html" class="channelBox_OneCover_Img" target="_blank">

4.3 特殊专栏

当用户进入主页面,在首页的列表中点击特殊专栏,页面将跳转到特殊专栏的专属页面当中,这个页面中我们可以选择自己喜欢的图书。这个页面的基本功能实现,每个图书旁边都会有一些简单的简介,还有这个图书的当前热度,以及下载量。

特殊专栏界面如图4.11、4.12、4.13、4.14所示。

特殊专栏01页面

特殊专栏02页面

特殊专栏03页面

特殊专栏04页面

相关代码如下:

  1. 1. <div class="nav">
  2. 2. <div class="navTop wrapper">
  3. 3. <ul class="left navTopL clearfix">
  4. 4. <li class="navTopL_list navTopL_current" onclick="click_num(21,20);">
  5. 5. <a href="index.html" class="navTop_type">首页</a>
  6. 6. </li>
  7. 7.
  8. 8. <li class="navTopL_list navTopL_list_boy ">
  9. 9. <a href="nanpin.html" class="navTop_type navTop_type_Boy">男性专区</a>
  10. 10. </li>
  11. 11. <li class="navTopL_list ">
  12. 12. <a href="girl.html" class="navTop_type">女性专区</a>
  13. 13. </li>
  14. 14. <li class="navTopL_list ">
  15. 15. <a href="copyright.html" class="clearfix navTop_type">
  16. 16. <span class="left">优质版权</span>
  17. 17. <i class="left yzIcon"></i>
  18. 18. </a>
  19. 19. </li>
  20. 20. <li class="navTopL_list ">
  21. 21. <a href="vip.html" class="navTop_type">特殊专栏</a>
  22. 22. </li>
  23. 23. <li class="navTopL_list ">
  24. 24. <a href="freezone.html" class="navTop_type">免费专栏</a>
  25. 25. </li>
  26. 26. <li class="navTopL_list ">
  27. 27. <a href="dppd.html" class="navTop_type">短篇</a>
  28. 28. </li>
  29. 29. <li class="navTopL_list " onclick="click_num(29,20);">
  30. 30. <a href="rank.html" class="navTop_type">排行榜</a>
  31. 31. </li>
  32. 32. <li class="navTopL_list " onclick="click_num(28,20);">
  33. 33. <a href="bookshelf.html" class="navTop_type">书库</a>
  34. 34. </li>
  35. 35. <li class="navTopL_list">
  36. 36. <a href="qczw.html" class="navTop_type" style="font-size:16px; color:#FF986F; font-weight:800">征文大赛</a>
  37. 37. </li>
  38. 38. </ul>
  39. 39. <div class="right nav_R_authorWelfare" onclick="click_num(35,33);">
  40. 40. <a class="clearfix" href="https://www.8kana.com/bbs/index/show/16941.html" target="_blank">网站福利</a>
  41. 41. </div>
  42. 42. <div id="btn_submission" class="right btn_submission right" onclick="click_num(7,1)">
  43. 43. <a onclick="authorConfirm()" href="javascript:click_num(14,0);">
  44. 44. <span class="left">
  45. 45. <script>
  46. 46. if(GPT.getCookieValue('IsAuthor')==1)
  47. 47. document.write('作者中心');
  48. 48. else
  49. 49. document.write('我要投稿');
  50. 50. </script>
  51. 51. </span>
  52. 52. </a>
  53. 53. </div>
  54. 54. </div>
  55. 55. </div>
  56. 56. <div class="navClass">
  57. 57. <div class="clearfix navClassIn">
  58. 58. <a href="/www/bookclass/serial/3-302" class="navClassIn_Text">悬疑22</a>
  59. 59. <a href="/www/bookclass/serial/3-305" class="navClassIn_Text">灵异</a>
  60. 60. <a href="/www/bookclass/serial/3-303" class="navClassIn_Text">智斗</a>
  61. 61. <a href="/www/bookclass/serial/4-405" class="navClassIn_Text">轻小说</a>
  62. 62. <a href="/www/bookclass/serial/4-404" class="navClassIn_Text">同人</a>
  63. 63. <a href="/www/bookclass/serial/1-101" class="navClassIn_Text">超能</a>
  64. 64. <a href="/www/bookclass/serial/1-104" class="navClassIn_Text">现实</a>
  65. 65. <a href="/www/bookclass/serial/1-103" class="navClassIn_Text">游戏</a>
  66. 66. <a href="/www/bookclass/serial/2-201" class="navClassIn_Text">玄幻</a>
  67. 67. <a href="/www/bookclass/serial/2-202" class="navClassIn_Text">奇幻</a>
  68. 68. <a href="/www/bookclass/serial/2-203" class="navClassIn_Text">科幻</a>
  69. 69. <a href="/www/bookclass/serial/6-601" class="navClassIn_Text">新派武侠</a>
  70. 70. <a href="/www/bookclass/serial/6-602" class="navClassIn_Text">幻想神州</a>
  71. 71. <a href="/www/bookclass/serial/8-801" class="navClassIn_Text">青春</a>
  72. 72. <a href="/www/bookclass/serial/8-802" class="navClassIn_Text">民国</a>
  73. 73. <a href="/www/bookclass/serial/8-803" class="navClassIn_Text">都市</a>
  74. 74. <a href="/www/bookclass/serial/7-701" class="navClassIn_Text">脑洞</a>
  75. 75. <a href="/www/bookclass/serial/7-702" class="navClassIn_Text">二次元</a>
  76. 76. <a href="/www/bookclass/serial/2-202" class="navClassIn_Text">奇幻</a>
  77. 77.
  78. 78. <a href="javascript:;" class="navClassIn_Text">仙侠</a>
  79. 79. <a href="javascript:;" class="navClassIn_Text">宅斗宫斗</a>
  80. 80. <a href="javascript:;" class="navClassIn_Text">架空</a>
  81. 81. </div>
  82. 82. </div>
  83. 83.
  84. 84. <script>
  85. 85. $.get("/www/index/ajaxGetSubMenu", {}, function(response){
  86. 86. var str = '';
  87. 87. for(var i in response.sub_classes) {
  88. 88. var subClass = response.sub_classes[i];
  89. 89. str += '<a href="/www/bookclass/serial/' + subClass.Parent + '-' + subClass.ClassId + '" class="navClassIn_Text">' + subClass.Name + '</a>';
  90. 90. }
  91. 91.
  92. 92. $(".navClassIn").html(str);
  93. 93. }, 'json');
  94. 94.
  95. 95. $(".navTopL_list").hover(function(){
  96. 96. $(this).find(".navTop_type_list").slideDown();
  97. 97.

4.4 借阅管理

用户要进行借阅书籍的操作时,需要输入自己已注册成功的用户名和正确的密码进行登录操作,再点击“借还管理”里的“图书借还”,便可以对书籍进行借还。

图书借阅界面如图4.15所示:

相关代码如下:

  1. 1. public void doPost(HttpServletRequest request, HttpServletResponse response)
  2. 2. throws ServletException, IOException {
  3. 3.
  4. 4. response.setContentType("text/html;charset=utf-8");
  5. 5. request.setCharacterEncoding("utf-8");
  6. 6. PrintWriter out= response.getWriter();
  7. 7. String opr = request.getParameter("opr");
  8. 8. List<Book> lists = new ArrayList<Book>();
  9. 9. BookDaoImpl daoImpl = new BookDaoImpl();
  10. 10. try {
  11. 11. if("list".equals(opr)) {
  12. 12. lists = daoImpl.listAll();
  13. 13. request.setAttribute("list", lists);
  14. 14. request.getRequestDispatcher("templateSetting.jsp").forward(request, response);
  15. 15. }else if("insert".equals(opr)) {
  16. 16. //新增
  17. 17.
  18. 18. String book_name = request.getParameter("book_name");
  19. 19. String book_class = request.getParameter("book_class");
  20. 20. String book_price = request.getParameter("book_price");
  21. 21. String book_borrow = request.getParameter("book_borrow");
  22. 22. String book_beizhu = request.getParameter("book_beizhu");
  23. 23.
  24. 24. Book book = new Book();
  25. 25.
  26. 26. book.setBook_name(book_name);
  27. 27. book.setBook_class(book_class);
  28. 28. book.setBook_price(book_price);
  29. 29. book.setBook_borrow(book_borrow);
  30. 30. book.setBook_beizhu(book_beizhu);
  31. 31.
  32. 32. int result = daoImpl.insert(book);
  33. 33. if(result > 0) {
  34. 34. out.println("新增成功");
  35. 35. response.sendRedirect("BookDaoServletb?opr=list");
  36. 36. }
  37. 37. }else if("delete".equals(opr)) {
  38. 38. //删除
  39. 39. int id = Integer.parseInt((request.getParameter("id")));
  40. 40. try {
  41. 41. Book deleteDef = new Book();
  42. 42. deleteDef.setBook_Id(id);
  43. 43. int result = daoImpl.delete(deleteDef);
  44. 44. if(result > 0) {
  45. 45. out.println("删除成功");
  46. 46. response.sendRedirect("BookDaoServletb?opr=list");
  47. 47. }
  48. 48. } catch (Exception e) {
  49. 49. e.printStackTrace();
  50. 50. }
  51. 51. }else if("update".equals(opr)) {
  52. 52. //修改
  53. 53. int book_id=Integer.parseInt(request.getParameter("book_id"));
  54. 54. String book_name = request.getParameter("book_name");
  55. 55. String book_class = request.getParameter("book_class");
  56. 56. String book_price = request.getParameter("book_price");
  57. 57. String book_borrow = request.getParameter("book_borrow");
  58. 58. String book_beizhu = request.getParameter("book_beizhu");
  59. 59.
  60. 60. Book book = new Book();
  61. 61.
  62. 62. book.setBook_name(book_name);
  63. 63. book.setBook_class(book_class);
  64. 64. book.setBook_price(book_price);
  65. 65. book.setBook_borrow(book_borrow);
  66. 66. book.setBook_beizhu(book_beizhu);
  67. 67. int result = daoImpl.update(book,book_id);
  68. 68. if(result > 0) {
  69. 69. out.println("修改成功");
  70. 70. response.sendRedirect("BookDaoServletb?opr=list");
  71. 71. }
  72. 72. }else if("insertSingle".equals(opr)) {
  73. 73. //根据id查询
  74. 74. int book_id=Integer.parseInt(request.getParameter("book_id"));
  75. 75. lists = daoImpl.QueryById(book_id);
  76. 76. request.setAttribute("list", lists);
  77. 77. request.getRequestDispatcher("moduleSetting.jsp").forward(request, response);
  78. 78. }else if("single".equals(opr)) {
  79. 79. //根据id查询
  80. 80. int book_id = Integer.parseInt((request.getParameter("id")));
  81. 81. System.out.println(book_id);
  82. 82. lists = daoImpl.QueryById(book_id);
  83. 83. request.setAttribute("list", lists);
  84. 84. request.getRequestDispatcher("updateTem.jsp").forward(request, response);
  85. 85. }
  86. 86.
  87. 87. } catch (Exception e) {
  88. 88. e.printStackTrace();
  89. 89. }
  90. 90. }
  91. 91.
  92. 92. }

4.5 免费专栏

当用户打开主页面,在首页中点击免费专栏,免费专栏主要提供免费的图书,分为几个小的子阶段,第一个是“编辑力推”这是用户都认为比较好看的图书,图书周边会有图书的简介以及图书的热度。“男生都在看”是属于男生都喜欢看的图书,图书周边会有图书的简介以及图书的热度,还有图书的更新的最新章节。“女生都在看”是属于男生都喜欢看的图书,图书周边会有图书的简介以及图书的热度,还有图书的更新的最新章节。界面如图4.16、4.17、4.18所示:

免费专栏01页面

免费专栏02页面

免费专栏03页面

相关代码如下:

  1. 1. <div class="clearfix wrapper mainBox_In freezoneTwo">
  2. 2. <!-- 编辑力荐 -->
  3. 3. <div class="freezoneTitle freezoneTitle1"></div>
  4. 4. <div class="clearfix freezone_Main">
  5. 5. <a href="/book/26583.html" class="left freezoneTwo_In" target="_blank">
  6. 6. <div class="freezoneTwo_Cover">
  7. 7. <img src="static/picture/26583_bef03_915_m.jpg" style="width: 100%; height: 100%">
  8. 8. <div class="freezoneTwo_Block">4790.16万热度</div>
  9. 9. </div>
  10. 10. <div class="freezoneTwo_Name">亡者之路1代号摩萨利尔</div>
  11. 11. <div class="freezoneTwo_Text">简介:本文讲述了被除籍少校林锐与义兄弟古...</div>
  12. 12. <div class="freezoneTwo_New">最新:<span>第八十章 云中漫步(上)</span></div>
  13. 13. </a>
  14. 14. <a href="/book/27040.html" class="left freezoneTwo_In" target="_blank">
  15. 15. <div class="freezoneTwo_Cover">
  16. 16. <img src="static/picture/27040_3e54b_5766_m.jpg" style="width: 100%; height: 100%">
  17. 17. <div class="freezoneTwo_Block">214.1万热度</div>
  18. 18. </div>
  19. 19. <div class="freezoneTwo_Name">君有云</div>
  20. 20. <div class="freezoneTwo_Text">简介:十里琅珰,学宫所在,由儒圣坐镇,其...</div>
  21. 21. <div class="freezoneTwo_New">最新:<span>036 天字</span></div>
  22. 22. </a>
  23. 23. <a href="/book/12484.html" class="left freezoneTwo_In" target="_blank">
  24. 24. <div class="freezoneTwo_Cover">
  25. 25. <img src="static/picture/12484_3c650_2148_m.jpg" style="width: 100%; height: 100%">
  26. 26. <div class="freezoneTwo_Block">7054.96万热度</div>
  27. 27. </div>
  28. 28. <div class="freezoneTwo_Name">圣堂之城</div>
  29. 29. <div class="freezoneTwo_Text">简介: 220年,一款最热最火爆的游戏席...</div>
  30. 30. <div class="freezoneTwo_New">最新:<span>1304 杀招</span></div>
  31. 31. </a>
  32. 32. <a href="/book/26179.html" class="left freezoneTwo_In" target="_blank">
  33. 33. <div class="freezoneTwo_Cover">
  34. 34. <img src="static/picture/26179_1df4e_996_m.jpg" style="width: 100%; height: 100%">
  35. 35. <div class="freezoneTwo_Block">138.49万热度</div>
  36. 36. </div>
  37. 37. <div class="freezoneTwo_Name">影照玄朝开疆记</div>
  38. 38. <div class="freezoneTwo_Text">简介: 孤庭寰幽震北原,戎鏖战图平霜严...</div>
  39. 39. <div class="freezoneTwo_New">最新:<span>第五十一章 谍中反谍,局中布局</span></div>
  40. 40. </a>
  41. 41. <a href="/book/22999.html" class="left freezoneTwo_In" target="_blank">
  42. 42. <div class="freezoneTwo_Cover">
  43. 43. <img src="static/picture/22999_7c034_5106_m.jpg" style="width: 100%; height: 100%">
  44. 44. <div class="freezoneTwo_Block">137.56万热度</div>
  45. 45. </div>
  46. 46. <div class="freezoneTwo_Name">一不小心成了喵神</div>
  47. 47. <div class="freezoneTwo_Text">简介: 这是一个在修真界混吃等死、胸无大...</div>
  48. 48. <div class="freezoneTwo_New">最新:<span>第550章 凶兽出世啦!</span></div>
  49. 49. </a>
  50. 50. <a href="/book/27174.html" class="left freezoneTwo_In" target="_blank">
  51. 51. <div class="freezoneTwo_Cover">
  52. 52. <img src="static/picture/27174_f4888_5776_m.jpg" style="width: 100%; height: 100%">
  53. 53. <div class="freezoneTwo_Block">22.28万热度</div>
  54. 54. </div>
  55. 55. <div class="freezoneTwo_Name">沙之巅</div>
  56. 56. <div class="freezoneTwo_Text">简介:枯黄色、灰色、白色 废料厂、沙漠、...
  57. 57. </div>
  58. 58. <div class="freezoneTwo_New">最新:<span>020暗红</span></div>
  59. 59. </a>

5 总结与展望

最后,我通过观察用户反馈发现现如今书籍管理系统普遍都存在一些问题,比如操作繁琐,工作效率较低,数据遗漏,误报等等,从而编写了这个软件系统,从分析结果可以看出,这个软件系统可以很好地解决关于书籍管理这方面的一些问题,让用户拥有了更好的使用体验。

在开发这个软件的过程中,从需求分析到设计、写代码、测试软件,我都严格要求自己做到非常规范和标准,努力将自己在大学这三年所学的知识运用到该软件的开发里,尽量做到本系统的进度和质量都在水准之上,给自己的三年大学生涯画一个完美的句号,不给自己留下遗憾。虽然,在开发该系统时,有很多问题都是能通过所学的知识去处理好的,但是也给我增加了一些小小的麻烦。比如说:软件有时候运行不了,怎么使用框架等等诸如此类。虽说这些都会消耗系统开发的时间,但在老师的指导下,我还是顺利的完成了这个毕业设计,成功实现了相关的功能。

本毕业设计完成的主要工作有:

  • 用户在使用该系统的时候可以又方便又快速的查找各种各样的书籍,自己借书的详细信息,和用户自己想要借阅什么样的书籍,还可以非常方便的了解各类书籍的详细信息

  • 书籍管理员可以非常方便而且又很快速的对书籍进行查询和管理,比如对书籍进行增加,删除,更改,查询等

  • 书籍管理员能使用户进行更方便的查找书籍等操作

但本系统还存在很多不足,如:很多功能还未实现,但是我再接下来的日子里面逐渐去完善这个系统,代码不便于日后修改升级等,这些均有待改善。

上传的附件 cloud_download 基于JSP的网络图书管理系统设计与实现.zip ( 49.42mb, 32次下载 )
error_outline 下载需要12点积分

发送私信

31
文章数
1
评论数
最近文章
eject