Javaweb图书管理系统

图书管理系统项目报告

摘  要

随着社会的发展,物质文化生活多样化,人们开始更加重视精神生活质量的提高。无论是在学校还是在城市随处可见图书馆的标志,各大图书馆里存放着数以万计的图书,同时每天会有成百上千的人参与借书与还书的活动。为了更好地管理这些图书以及图书馆的用户,产生了很多的图书管理系统,这次的大作业我参考了一些完整的图书管理系统的功能和页面,做出了一个相对简单的图书管理系统。

关键词:图书管理系统,管理员,用户

library management system Project Report

ABSTRACT

With the development of society and the diversification of material and cultural life, people begin to pay more attention to the improvement of spiritual life quality. Library signs can be seen everywhere in schools and cities. There are tens of thousands of books stored in major libraries, and hundreds of people take part in borrowing and returning books every day. In order to better manage these books and library users, a lot of library management systems have been produced. This big homework I have referred to some complete library management system functions and pages. Made a relatively simple book management system.

Keywords: library management system, administrator, user

项目目录与组成

src

Bean

Book、Borrow、User

dao

BookDao、UserDao、BorrowDao

service

BookDaoImpl、UserDaoImpl、BorrowDaoImpl

servlet

BookAddServlet、BookDeleteServlet、BookServlet、BookUpdate1Servlet、BookUpdate2Servlet、BorrowServlet、CheckCodeServlet、DelayServlet、LoginServlet、RegisterServlet、ReturnServlet、SearchServlet、UserChangePwdServlet、UserDeleteServlet、UserServlet

test

Bookttest、Borrowtest、usertest

util

DBUtil

webapp

css

book_index_style.css、login.css、login_index.css、Manager_index_style、MimicryButton.css、register.css、search.css、User_index_style.css

jsp

Book_index.jsp、index.Jsp、login.jsp、login-index.jsp、Manager_index.jsp、user_index.jsp

html

Register.html

images

Book1、book2、book3、bookbg等

其他部分

数据库整理、报告撰写

一、 项目的背景和意义

(一)项目开发的意义

传统图书管理采用人工手写操作对图书入库、编目、借阅等进行管理工作,需要花费较多的精力和时间,并且随着工作人员的精力下降,还容易产生错误,因而需要有一种高效、省力、方便快捷的管理方法。计算机在图书馆的应用,对图书传统管理模式是一个极大的促进和提升。同时,计算机系统不仅需要具备较简洁易懂的操作步骤,还要求图书管理员具有较强的计算机操控水平。立足于这样的需求,随之产生了很多的图书管理系统,以之前的图书管理系统为参照,我设计实现了一款简单操作的图书管理系统。以下是该项目开发的几个方面:

1.提高管理效率。采用计算机管理平台,可以方便管理员对图书资源进行分类编目、借阅还书、查询、统计、等操作,使得管理工作效率得到提高。

2.改善用户体验。读者可以使用图书管理系统来查询与借阅自己所需的图书,避免不必要的人员流动,减少不必要的时间浪费,提高借阅效率。

3.减少错误率。采用计算机化管理可以避免因为人工处理过程中出现的分类错误、录入错误、统计错误等,大大降低管理工作出错的概率。

4.提高数据质量。图书管理系统可以对各类数据进行统计、分析,对于图书馆的管理便于准确、深入地了解馆藏、借阅、阅读等情况,为馆内管理决策提供了有力支持。

5.数字化服务。随着信息技术的不断发展,数字化服务已成为图书馆管理的新趋势,图书管理系统的开发也可以为数字化服务提供支持和保障。

综上所述,图书管理系统项目开发的意义在于使图书馆管理更加科学化、数字化、自动化,可以有效提高管理效率,降低错误率,提高服务质量,为尽可能多的读者提供更好的阅读服务。

(二)项目开发的背景

随着国际趋势的发展以及国家信息化的战略发展需求,国家开始将视线转向了图书信息化管理系统。信息化技术的成熟、发展,及其全面、深入的应用普及,在很大程度上改变了人们的生活、工作与学习习惯。如其全新的信息传播、获取方式,使得人们可以轻松获得各种信息资源,新媒体、自媒体、电子图书等越来越受欢迎,但即使是在这样的情况下,传统的纸质图书依然无法被完全替代,不过,图书管理是一项非常复杂、琐碎的工作,面对不断增多的图书和读者,传统的图书管理方式会承受极大的工作压力,并且会降低读者的服务体验。为了解决这些问题,基于信息系统和物理系统融合的智慧图书管理系统受到了广泛关注。

图书管理系统项目开发的背景可以从以下几个方面来考虑:

1.社会需求。随着信息时代的到来,图书馆资源规模逐渐扩大,管理难度逐渐增加,人工处理数据繁琐、效率低下等问题日益凸显,为满足读者的需求,加强图书馆的管理,提高管理水平和服务质量,开发图书管理系统已成为必然趋势。

2.人口增加。人口的增加,意味着读者数量的增多,大量读者会使用图书馆,此时图书馆需求更好的管理服务、更为迅速的流通方式和更准确、更完整的数据信息管理,而图书管理系统正适应这种需求而发展起来。

3.技术进步。图书管理系统的开发需要借助计算机技术,与信息化相结合,应用数据库、编程语言等技术,使图书馆管理工作实现自动化和数据化,这样可以提高管理效率,降低成本。

4.竞争压力。在数字时代,不仅是图书馆,各行各业都需要自动化、信息化的管理系统来提高变现能力、提高效益、提升服务质量,图书馆作为公共文化机构,也需要与时俱进,发展更高效、更精确、更自动化的图书管理模式,以维护和提升公共文化服务的形象和效益。

综上所述,图书管理系统项目的开发背景可以从社会需求、人口增加、技术进步和竞争压力等多个方面进行考量。图书馆需要为读者提供更好的服务,而图书管理系统的开发有助于提高图书馆管理的现代化水平,推动图书馆工作更高效、更便捷。

二、 主要技术介绍及开发环境的配置

(一)采用的主要技术点介绍

本项目使用Java语言开发、MySql数据库存储数据,以JavaWeb三层架构思想为基础,利用JavaScript、JSP/Servlet实现网站动态交互效果,同时运用数据库连接池durid技术、JSTL标准标签库等技术来实现相关功能。

Java:Java是一种面向对象的程序设计语言,它具有可移植性强、安全性高、简单易用等优点,可以用于编写各种类型的程序,如嵌入式系统应用程序、分布式系统程序、Web应用程序、桌面应用程序等.

Springmvc:Spring MVC框架是模型—视图—控制器的缩写,通过发送请求,围绕一个中心Servlet分派请求及提供其他功能。控制器是整个Spring MVC的核心,负责对用户请求进行接收和拦截。

Mysql:MySQL是一种关系型数据库,对MySQL的访问、查询和其他相关操作,都可以通过SQL语言进行,可读性强、辨识度高、操作方便。

JSP:是一种Java EE(Java Enterprise Edition)技术,它允许将Java代码和HTML标记结合在一起,生成动态网页。JSP页面中可以包含Java代码片段,这些代码片段会在服务器端进行编译和执行。JSP还支持自定义标签和标准标签库,可以让开发者更方便的管理和重用页面组件。

JSTL标准标签库:是用于JSP编程的一组标签。使用JSTL标签库可以更加方便、灵活地开发JSP页面,避免在页面中写大量的Java代码。

(二)开发环境的配置及依赖的说明

搭建Java Web应用的开发环境包括:安装jdk、安装IntelliJ IDEA、安装Web服务器(tomcat)、配置Tomcat(包括JDKTomcat路的配置和测试)、在Idea里部署Tomcat解决一些设置及乱码,使服务器正常运行、新建Java Web项目及完成项目的一系列配置、项目进行到一定程度后可以开始连接mysql数据库。

采用maven框架,在pom.xml文件里引入项目所需要的依赖,在resource目录下导入durid的依赖包。

 

三、系统功能简介

(一)系统主要功能设计

图书管理系统致力于实现用户操作和管理员操作两部分。在用户操作中实现用户注册、登录、修改个人密码、借阅图书、查找图书、还书、延迟还书等功能,满足用户对图书馆功能的基本需求。在管理员操作中提供不同的管理页面,实现对用户、图书信息增删改查等日常管理操作,以满足管理图书的需要。

(二)系统功能结构图

  • 系统结构设计

本项目基于由数据访问层、业务逻辑层、表示层组成的三层结构模式搭建,具体如下图所示:

表示层:包括JSP、CSS、html。

业务逻辑层:使用Servlet实现对业务逻辑的控制。

数据访问层:使用Dao接口及其实现类。主要包括:BookDao、UserDao、BorrowDao及其实现类。

  • 项目的目录结构

项目的主要文件放置在src的java目录下,为了降低项目组件之间的耦合度,项目使用了dao模式,所有的servlet实现均放在servlet目录下,测试类在test目录下,工厂类在util目录下。关于前端的所有代码文件均放在webapp目录下。Resource目录下引入了durid的依赖包并存放相关配置文件。

四、系统业务流程及关键代码

(一)系统的关键业务流程

 

(二)用户操作的页面介绍和关键代码

网站主要分为用户系统和管理员系统,首先介绍用户端的一些页面实现:

系统首页:

系统的首页有登录和注册两个选项,注册仅限于用户,登录分为用户和管理员两种两个选择。系统的首页比较简单用jsp和css就可以实现,点击Login in会跳转到login.jsp页面,点击register会跳转到register.html页面。

Login-index.jsp

  1. <body>
  2. <div class="web_body">
  3.        <span class="web_font">
  4.            Welcome to Book management system
  5.        </span>
  6.     <div>
  7.         <a  herf="login.jsp" class="blog_login">Login in</a>
  8.         <a  herf="register.html" class="blog_register">register</a>
  9.     </div>
  10. </div>

用户注册:

用户注册需要填写姓名和密码,注册成功后会返回系统的首页

注册时用到的servlet代码如下,需要判断注册的用户名与系统之前的用户名是否相同,相同的话则会显示注册失败!

RegisterServlet

  1. request.setCharacterEncoding("UTF-8");
  2. String userId = request.getParameter("username");
  3. String pwd = request.getParameter("password");
  4. User u = new User();
  5. u = userDao.queryById(userId);
  6. if(u==null || !u.getUserId().equals(userId)){
  7. User user = new User(userId,pwd,"用户",0);
  8.  userDao.add(user);
  9. request.getRequestDispatcher("login-index.jsp").forward(request,response);
  10. }else{
  11.  System.out.println("注册失败!");
  12. request.getRequestDispatcher("login-index.jsp").forward(request,response);
  13. }   

Register.html

  1. <table>
  2.     <tr>
  3.         <td>用户名</td>
  4.         <td class="inputs">
  5.             <input id="username" name="username" type="text">
  6.         </td>
  7.     </tr>
  8.     <tr>
  9.         <td>密码</td>
  10.         <td class="inputs">
  11.             <input id="password" name="password" type="password">
  12.         </td>
  13.     </tr>
  14. </table>

用户登录:

用户登录时需要输入用户名和密码以及验证码,同时利用所学的cookie和session的知识可以将用户名和密码选择保存7天的选项。注意用户登录时需选择自己的身份为用户。

选择用户身份登陆,利用cookie和session技术实现留存记录的servlet代码如下:

LoginServlet

  1. if(user.getIdentity().equals("用户")){
  2.     //用户
  3.     request.getSession().setAttribute("userId",userId);
  4.     User u = userDao.queryById(userId);
  5.     request.getSession().setAttribute("bookNum",u.getBookNum());
  6.     response.sendRedirect("index.jsp");
  7. if(userId.equals(user.getUserId()) && pwd.equals(user.getPassword()) && 
  8. identity.equals(user.getIdentity())){
  9.  if ("1".equals(remember)) {
  10.  Cookie c_username = new Cookie("name", userId);
  11.  Cookie 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值