基于SSH框架的图书管理系统的设计与实现_第1页
基于SSH框架的图书管理系统的设计与实现_第2页
基于SSH框架的图书管理系统的设计与实现_第3页
基于SSH框架的图书管理系统的设计与实现_第4页
基于SSH框架的图书管理系统的设计与实现_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

前言1.1课题研究现状及意义如今每天都会有大量的图书和期刊出版,导致图书馆中书籍的数量大幅度增加,而图书馆的工作人员需要对大量的图书信息进行管理,更新图书信息,处理读者图书借阅的相关信息及他们详细的个人信息,在协助读者进行图书借阅与归还操作的同时,还需要记录下读者借阅与归还图书时的相关信息,这时候传统的人工处理方式的弊端也逐步显现:需要大量的人力分配到各个岗位进行管理,需要管理的数据信息量大到让人难以承受,费时费力,且通过人工管理的数据信息容易丢失,并经常会出现信息交叉错乱的情况。我们现在已经进入到互联网时代,通过计算机代替人工来处理数据已经成为趋势,所以图书馆的管理工作也应该顺应互联网技术发展的步伐。在计算机中最显著的特征是数据存储量大、数据处理速度快且数据保存稳定持久,它可以及时、快速、准确地处理数据信息。在图书管理工作中通过使用较为先进的计算机技术对图书信息、读者信息和图书借阅记录信息进行动态化、规范化的管理,这样在提高图书管理员的工作效率,减少在图书管理工作中的人力投入的同时,还可以让图书馆中的图书资源得到更加充分的利用,使得图书管理具备更大的灵活性和实用性,这是在图书管理工作中实现数字化、精细化和科学化管理的一种方式,也是让图书管理工作朝着现代化、智能化方向前进的一种手段。计算机技术的发展和应用为处理大量的数据信息,长时间保证数据和保证数据的安全提供了可能。通过计算机对相关数据信息进行管理,使得图书管理和读者借阅管理分离的传统图书管理方式得到了改变,实现了在图书馆相关信息管理上的规范化和系统化。图书管理系统以计算机为操作工具,在网页上运行,可以把图书信息和读者借阅信息保存在数据库中,通过计算机可以快速地对图书数据进行增删改查操作,而读者也可通过该系统简化图书借阅的流程,在方便工作人员的管理,提高工作效率的同时,也方便的读者对自己的借阅信息进行了解。1.2研究目标及内容图书管理系统主要是通过将传统的人工保存方式管理的图书信息和读者借阅信息保存在计算机的数据库中,在管理员方面可以实现对图书信息的管理及对读者借阅记录和用户相关信息的查询;在用户方面实现对个人信息的管理,对图书的借阅和归还以及对图书借阅记录的查询。目的是在图书管理员方面降低他们的工作量,提高工作效率,在用户方面可以方便用户对图书进行借阅与归还操作和随时随地地查询自己的借阅记录。主要研究内容是通过查阅资料,完成对图书管理系统的数据库的设计,并为用户和管理员分别开发页面,在实现图书管理系统中的图书管理,图书借阅和相关信息查询等基础功能的同时也保证角色权限的控制和信息的安全。可行性分析2.1经济可行性该图书管理系统是基于Java进行开发设计的,不需要再购买设备进行开发,开发时使用的软件也都是免费的,且该系统是基于web网页进行各个操作,对计算机系统配置的要求并不高,所以该系统的开发成本和日后的维护费用并不高。同时该系统简化图书管理员的操作,减轻了图书管理员的工作负担,也降低了在图书管理中人力投入。在经过综合比较后可以发现该系统具有经济可行性。2.2技术可行性该图书管理系统使用了基于Java的SSH框架,其中后台程序使用了Java语言进行开发,与其他编程语言相比,Java语言具有面向对象、调试简单、可移植性高等多个特点;而在前端页面开发方面则采用了JSP、CSS、JavaScript等技术进行布局设计和部分输入框的输入控制,页面布局简洁美观,操作友好简单,使用方便,而且SSH框架的使用历史悠久,在此之前的许多网站都是基于SSH框架进行开发,在开发Web项目时使用SSH框架是一种轻量级的很好的解决方案,与其他框架相比SSH框架的使用较为成熟,所以该系统具有技术可行性。2.3操作可行性该图书管理系统前端页面主要是通过使用JSP、CSS、JavaScript等技术进行布局设计,所有操作都是在网页上完成,无需另外下载安装软件,界面友好,操作简单。图书管理员可以通过该系统对图书资源信息进行更新,对用户信息进行管理,而用户也可以通过该系统方便快捷地对图书进行借阅和归还操作,所以该系统具有操作可行性。相关技术与环境3.1软件开发环境Myeclipse版本:Myeclipse2016MySQL版本:MySQL8.0.16Tomcat版本:7.0.56Jdk版本:1.8.0_2013.2Java介绍Java是一门高级的、面向对象的程序设计语言,在如今众多的编程语言中占据了比较大的市场份额。Java主要分为三个版本,分别为JavaSE,JavaEE和JavaME。其中JavaSE是标准版的Java,其他版本的Java都是在JavaSE的基础上进行修改的,其主要作用是用于一般的Java程序(如桌面应用程序)的开发;JavaEE是企业版的Java,此版本的是在JavaSE的基础上加上了各种应用框架以便程序的开发,主要是在企业上用于开发和部署可移植且安全的服务器端分布式网络应用程序(如Web应用);最后的JavaME是平台微型版的Java,它主要用于移动设备和嵌入式设备上的软件开发。在此图书管理系统中用的是JavaEE版本。Java的特性如下:面向对象:面向对象是Java语言的基础。在Java语言里一切皆对象,即将所有的问题都看作是两个不同对象之间的交互,并将所有的对象都抽象成了属性和方法的集合。跨平台:Java中的虚拟机机制(即JavaVirtualMachine,简称JVM)实现了Java语言不需要再重新编译即可以在不同的平台上可以正常运行。而正是因为Java中有了这个虚拟机机制才保证了Java语言的强大的可移植性。健壮性:Java语言中的异常处理和垃圾回收机制等都是其健壮性的重要体现。多线程:Java可以支持同一个进程内的多个线程同时进行工作以提高程序的执行效率,而且还提供了多线程之间的同步机制以保证线程的安全。解释执行:Java程序在安装有Java环境的平台上运行时会先通过编译器将由Java语言编写的源代码编译成字节码,而这些字节码会被Java虚拟机中的解释器解释成计算机所认识的机器码,从而保证程序可以在安装有Java环境的操作系统上正常运行。简单性:因为Java语言是从C++语言发展起来的,所以在编程使用的语法上Java语言与C++语言较为相近,但是与C++不同的是Java语言丢弃了许多(例如指针等)在C++中难以理解的特性。同时因为Java加入了垃圾回收机制,所以程序员在开发程序的过程中不用再去关心程序中的内存分配及垃圾回收等烦人的问题,简化了编程过程的同时也提高了编程效率。3.3MySQL介绍数据库是一个系统的保存数据的核心部分,常用数据库管理系统包括MySQL、SQLService和Oracle等,而在本系统的开发中则选择了MySQL作为数据库。MySQL是目前在WEB应用程序开发方面较为流行的关系型数据库管理系统(即RelationalDatabaseManagementSystem:简称RDBMS)的应用软件之一。MySQL的特点是可以跨平台且开源,在支持Linux和Windows等多种常用的操作系统的同时,也为C、C++、Python、Java、PHP等多种常用的编程语言都提供了API接口供它们使用,其数据处理量大且处理速度快,服务稳定,软件体积小,方便维护。与其他大型系统相比,图书管理系统中的数据处理量并不算大,而且MySQL与其他数据库管理软件相比,其用户使用量较大,在遇到问题时能够及时寻求解决方法,所以选择MySQL作为图书管理系统的数据库是一个不错的选择。3.4SSH框架介绍SSH框架是一个集成框架,其结构包括4层:即实体层,控制层,业务逻辑层和数据访问层。其中实体层主要是用Java语言将数据库中所用到的字段封装成一个类,这样在传参时只需要传一个类即可;数据访问层负责由hibernate来与数据库进行连接,通过使用hibernate语句(HQL语句)实现对数据库表的数据进行读写操作;业务逻辑层主要是对业务逻辑的进行处理,其工作过程主要是通过调用数据访问层来实现业务数据的持久化;控制层则是通过struts2来与前端网页进行数据交互,以及调用业务逻辑层进行业务逻辑处理。总的来说SSH框架主要由struts2+spring+hibernate三部分组成:struts2是一个基于MVC设计模式的、用于开发JavaEE应用程序的web应用框架,MVC设计模式:即在应用程序开发过程中将应用分成模型(Model)、视图(View)和控制器(Control)三部分分别进行设计。struts2主要起到了控制作用,负责接收网页中通过表单提交的数据,在action中将接收到的数据进行处理,最后再将最后的处理结果返回到对应的网页中。struts2以WebWord为核心,通过采用拦截器的方式来处理用户的请求。spring是一个开源且轻量级的容器框架,它最大的特点就是控制反转(IoC)和面向切面(AOP)。在SSH框架中,spring在SSH框架中主要是起到了控制struts2框架中的action对象和service类的作用,以达到解耦的目的,简化了程序员的开发流程。hibernate是一个开源的对象关系映射框架(ObjectRelationalMapping,简称ORM),在SSH框架中其主要作用是与数据库进行连接并对数据库的数据进行读写操作。为了简化在数据访问层中对数据进行操作时重复出现的代码,hibernate框架对传统的通过JDBC来访问数据库的代码进行了深度的封装;提供了从Java类到数据库表的映射从而达到直接存取Java对象的目的,降低了数据访问过程中的复杂度;同时把直接对数据库进行的操作转化成了对持久化对象的操作,提高了程序员的编程效率。JSP介绍JSP(JavaServerPages)是一种动态的网页开发技术,它可以根据服务器端的程序来动态生成不同的页面。JSP页面主要是通过引入JSP标签的方式达到在普通的HTML网页中插入Java的代码的目的,实现HTML代码和Java代码共存,所以JSP技术和Java语言一样具有跨平台运行的特性,其主要作用是在JavaWeb程序设计中实现前端的用户操作界面的部分。其特点是能够方便的与服务器进行数据交互,能够访问数据库。其工作过程是web服务器在遇到JSP的网页访问请求时,会先执行其中的程序片段,然后将其最后的执行结果以HTML的格式返回给用户客户端,其中所有的程序操作都是在服务器端进行执行,而从服务器端返回到客户端的只是最后执行得到的结果,所以使用JSP技术开发图书管理系统的前端页面这种方式对用户计算机的配置要求很低。[1]数据库设计4.1数据库需求分析数据库是图书管理系统中最重要的一部分,所以在设计数据库时,需要先确定各张表中所需要用到的字段,以及确定表与表之间的外键从而实现它们之间的表关联。该系统主要分为用户注册登录模块,用户信息管理模块,图书管理模块和图书借阅模块,下面是在该系统中使用到的表的相关描述及表与表之间的联系:用户信息表:该表来保存用户的账号密码等信息,同时也保存了用户信息管理模块中管理的用户基本信息,包括用户id(主键),用户名,密码,用户类型(普通用户或管理员),真实姓名,联系电话,生日,上次登录时间,注册时间和逾期次数;图书信息表:该表用来保存图书的基本信息,包括图书id(主键),图书名称,类型,作者,出版社,总数量,剩余数量,被借阅总次数,新增者,图书描述;图书借阅表:该表用来保存用户借阅图书后尚未归还记录的基本信息,包括借阅记录id(主键),借阅者姓名,图书名称,借阅日期,最晚归还日期,图书id,用户id。其中图书id是图书信息表的外键,用户id则是用户信息表的外键,在对图书借阅表进行操作时可以通过图书id和用户id两个外键来分别对图书信息表和用户信息表的相关关联信息进行查询;借阅历史记录表:该表用来保存用户归还图书后记录下的相关信息,包括借阅记录id(主键),借阅者姓名,图书名称,借阅日期,归还日期,图书id,用户id。其中图书id是图书信息表的外键,用户id则是用户信息表的外键,在对借阅历史记录表进行操作时可以通过图书id和用户id两个外键来分别对图书信息表和用户信息表的相关关联信息进行查询;;4.2数据库设计根据我们上方的数据库需求分析,我们可以将图书管理系统中数据库表的表结构列出:该图书管理系统的数据库主要由四张表组成,分别是用户信息表,图书信息表,图书借阅表和借阅历史记录表。下面是各个表的详细设计:4.2.1用户信息表表4.1用户信息表序号字段名称字段类型长度是否允许为空备注1uidint11否主键,用户id2usernamevarchar50否用户名3passwordvarchar50否密码4usertypevarchar10否用户类型5actualnamevarchar50是用户真实姓名6phonenovarchar11是联系电话7birthdaydatetime是生日8lastlogintimedatetime是上次登陆时间9registertimedatetime是注册时间10numberofoverdueint11是逾期次数4.2.2图书信息表表4.2图书信息表序号字段名称字段类型长度是否允许为空备注1idint11否主键,图书id2namevarchar50否图书名称3typevarchar5否图书类型4authorvarchar50否作者5publishvarchar50否出版社6amountint11否剩余数量7totalamountint11否总数量8principalvarchar50否新增者9descriptionvarchar255否图书描述4.2.3图书借阅表表4.3图书借阅表序号字段名称字段类型长度是否允许为空备注1idint11否主键,借阅记录id2namevarchar50否借阅者姓名3booknamevarchar50否图书名称4borrowdatedatetime否借阅日期5latestreturndatedatetime否最晚归还日期6bookidint11否图书信息表外键,图书id7useridint11否用户信息表外键,用户id4.2.4借阅历史记录表表4.4借阅历史记录表序号字段名称字段类型长度是否允许为空备注1idint11否主键,借阅历史记录id2namevarchar50否借阅者姓名3booknamevarchar50否图书名称4borrowdatedatetime否借阅日期5returndatedatetime否归还日期6bookidint11否图书信息表外键,图书id7useridint11否用户信息表外键,用户id模块设计与实现5.1需求分析图书管理系统主要分为注册登录模块,用户信息管理模块,图书管理模块,图书借阅模块等四大模块。注册登录模块和用户信息管理模块主要是对用户信息表进行操作;图书管理模块主要是对图书信息表进行操作;图书借阅模块主要是对图书借阅表和借阅历史记录表进行操作,同时可通过图书id和用户id这两个外键分别对图书信息表和用户信息表进行操作。图5.1系统功能图5.2注册登录模块注册登录模块是图书管理系统最重要的一个模块,其他模块都是需要在用户正常登录后才可以进行正常操作,所以该模块直接影响到整个图书管理系统的安全性。其中为了实现用户和管理员的权限分配功能,系统为管理员和用户两个角色分别开发了不同的主页,在登录时会对登录用户的用户类型进行判断,不同的用户类型在登录成功后会跳转到各自的主页中。5.2.1用户注册这部分主要是实现用户注册功能,用户在注册时需要完整输入所有信息。在点击提交按钮后系统会先在前端页面中通过JavaScript来检查输入密码是否合法(密码首位必须是大写,密码总长度需要大于6位),两次输入的密码是否相同,若检查不通过则会拒绝该表单提交并提示错误信息,检查通过后则会将表单中的信息提交到后台,在后台中会将输入的注册用户名与数据库中的数据进行比对,如果存在相同的用户名则会拒绝该注册操作,并将错误信息返回到前端页面中显示;不存在相同的记录则将表单中的信息保存到数据库,此时后台会记录下此时的时间一同保存到用户表的注册时间中,前端页面则会提示注册成功。另外为了区分用户和管理员两个不同的角色,在用户注册时,用户注册页面中会有一个隐藏输入框默认给usertype赋值(usertype赋值为1),用户无法对其修改,保证了在用户注册页面提交注册的用户类型只能为普通用户。图5.2用户注册页面图5.3注册成功5.2.2管理员注册这部分主要是实现管理员注册的功能。为了保证普通用户无法通过该注册页面注册管理员账户,因此将管理员注册设置为管理员的权限,即只有通过使用管理员账号登录系统后才能正常访问该页面,而普通用户则无法访问该页面。管理员注册只需输入用户名和密码即可,其他字段无需输入,输入的密码也会通过JavaScript进行验证,验证通过后即可将信息提交到后台进行用户名验证。在管理员注册时,管理员注册页面中会有一个隐藏输入框默认给usertype赋值(usertype赋值为0),用户无法修改,保证了在管理员注册页面提交注册的用户类型只能为管理员。图5.4管理员注册图5.5管理员注册成功5.2.3用户登录此部分主要是实现了用户的登录功能。用户登录和管理员登录使用的是同一个登陆页面,在登陆时除了输入用户名和密码外还需要选择用户类型,选择管理员时会给usertype字段传0,选择用户时会给usertype字段传1。在输入用户名、密码和选择用户类型后,点击登录后会将所有信息提交到后台进行验证。验证失败会拒绝用户登录并将错误信息返回到前端显示;验证成功后,用户部分会将用户的id和真实姓名保存到session中,管理员部分则会将管理员的id和用户名保存到session中,并根据用户类型返回不同的字符串,在struts.xml配置页面根据返回的不同的字符串来跳转到不同的主页,实现了用户和管理员的权限分配。在打开主页时会先检查session中是否有值,session中有值则代表用户已登录,可以正常访问;若session中没有值则代表用户尚未登录,通过JSP域名访问该页面后会自动跳转到登陆页面,另外使用了struts的拦截器对action进行登录拦截,即用户在未登陆时通过action路径来访问页面会进行拦截并自动跳转到登录页面,防止用户信息泄露和数据被非法修改。图5.6管理员登录图5.7管理员登录成功图5.8用户登录图5.9用户登录成功在主页中会有退出登录按钮,在点击按钮后后台会将session中的值清空并自动跳转到登陆页面,实现了退出登录的功能。图5.10退出登录5.2.4用户注销此部分主要是实现了用户注销的功能。用户在点击注销用户按钮后会在后台检查该用户是否有图书未归还的记录,有图书未归还记录则拒绝注销,没有则会直接删除该用户并自动跳转到登陆页面,实现用户账户注销的功能。图5.11存在图书未归还记录图5.12点击注销用户图5.13用户注销失败图5.14用户注销成功5.3用户信息管理模块5.3.1查看用户信息在使用管理员账号登录后,在管理员的主页点击用户管理,可以查询到有关所有用户的信息并以分页形式显示,在此页面中可以查询到用户的详细信息和该用户的图书未归还记录。图5.15管理员查询所有用户5.3.2修改密码用户在点击修改密码按钮后,会跳转到密码修改页面,在此页面中修改密码时需要输入旧密码进行验证,验证通过后才允许修改密码。新密码也会通过JavaScript来验证密码合法性和两次输入的密码是否相同,在密码修改成功后用户会自动退出登录并跳转到登陆页面。图5.16密码修改前图5.17修改密码图5.18密码修改后5.3.3修改个人信息用户点击修改个人信息按钮后,会跳转到个人信息修改页面,并将数据库中的个人信息查询并显示出来。在此页面中只有联系电话可以进行修改,其他信息都是只读状态,用户无法修改。图5.19修改个人信息图5.20修改成功5.4图书管理模块图书管理模块主要是实现对图书信息进行管理的功能,在这部分图书的新增、修改、删除只能由管理员进行操作,用户无法操作,保证了图书信息的安全性。其主要分为新增图书,查询图书,修改图书和删除图书。5.4.1新增图书此部分主要是实现新增图书的功能,该页面只有管理员能够打开,用户无法访问该页面。在此页面中,所有信息都需要输入,通过JavaScript来验证是否全部输入,没有全部输入则提示错误。需要注意的是在新增时图书剩余数量是根据输入的总数量来自动生成,无法修改。在全部信息正确输入后点击提交按钮即可实现图书的新增操作,图书新增完成后会自动跳转到图书查询页面,在此页面中可以以分页形式查询到数据库中所有的图书信息。图5.21新增图书图5.22新增成功5.4.2查询图书此部分主要是将所有的图书信息以分页形式显示到页面中,在图书查询页面可以通过按输入的不同条件进行查询,查询成功后将符合条件的记录显示到页面中。在按条件查询并进行翻页时,系统会将输入的查询条件通过路径形式传递到后台,后台获取到查询条件后则按相应的查询条件进行搜索,最后将符合条件的记录返回到前端页面中。图书查询功能主要分为用户查询和管理员查询,用户查询图书的页面在图书信息后会有借阅按钮,选择某一条图书记录后的借阅按钮后可以对该图书进行借阅;管理员查询图书的页面在图书信息后会有编辑按钮,选择某一条图书记录后的编辑按钮后可以对该图书进行编辑。图5.23用户查询图书列表图5.24管理员查询图书5.4.3修改图书此部分主要是实现对图书的部分信息进行修改的功能。在使用管理员账号登录后才可对图书信息进行编辑,保证了图书信息无法被用户修改。在图书列表中选择其中的一条记录,点击编辑按钮即可进入到图书编辑页面对部分图书信息进行修改。其中剩余图书数量为只读,其值的改变主要是根据修改后的图书总数量与尚未归还的图书数量进行计算得出;图书总数量的范围也做了限制,即图书总数量不得少于尚未归还图书的数量,保证了图书数量的准确性。图5.25管理员修改图书信息5.4.4删除图书此部分主要是实现对图书进行删除的操作。在使用管理员账号登录后才可对图书进行删除,保证了图书无法被用户删除。在图书列表中选择其中的一条记录,带年纪编辑按钮进入到图书编辑页面,在图书编辑页面中有删除按钮,在点击删除按钮后会在后台进行判断该书是否存在未归还记录,如果存在未归还记录即拒绝该删除操作,不存在未归还记录即可正常将图书删除。图5.26图书删除失败图5.27删除图5.28删除成功5.5图书借阅模块图书借阅模块主要是实现图书借阅归还和借阅记录查询功能,在这个模块中的图书借阅归还功能主要是由用户使用,管理员主要是可通过这个模块查询所有用户的图书借阅记录信息。5.5.1图书借阅此部分主要是实现用户的图书借阅功能。在使用普通用户账号登录系统后,在图书列表中选择其中一条图书记录,点击借阅按钮即可跳转到图书信息页面查看图书的详细信息。在此页面再次点击借阅按钮后会将数据提交到后台,此时后台会先在数据库中进行检查该用户是否有逾期未归还的记录,存在逾期未归还的记录则提示用户需先归还逾期的图书才可再次借阅图书;另外后台还会检查该用户是否有同一本书尚未归还的记录,若两部分检查都通过后即可正常进行图书借阅操作,此时后台会将图书信息表中的剩余数量减1;将图书信息表中的总借阅次数加1,图书的总借阅次数主要是为了给图书热度排行提供数据;通过记录下用户id和图书id作为该借阅记录的外键,以便对用户信息表和图书信息表进行连接;同时自动记录下当前的系统时间,并以当前时间60天后的时间作为最晚归还时间,如果用户在超过最晚归还时间后尚未归还图书,系统则会在用户归还该图书后在用户信息表中将该用户逾期次数记录加1。图5.29图书借阅图5.30借阅成功图5.31存在逾期记录时借阅失败图5.32存在相同的借阅记录5.5.2图书归还此部分主要是实现用户归还借阅的图书的功能。在使用普通用户账号登录了系统后可以点击图书归还按钮查询所尚未归还的图书的记录,另外还有一个查询逾期记录的按钮,点击该按钮后可以查询出该用户逾期未归还的图书的记录。在查询出未归还图书的记录后,点击归还图书即可执行图书归还操作。此时后台会将该图书在图书信息表中的剩余数量加1,删除在图书借阅表中将该记录进行删除,并在历史借阅记录表中记录下详细信息,包括借阅时间,归还时间,用户id和图书id,通过用户id和图书id可以查询到有关该用户和该图书的全部信息;需要注意的是如果该记录已经逾期,在图书归还时还会在用户信息表中将该用户的逾期次数字段的数值加1。图5.33图书归还图5.34归还成功5.5.3图书借阅记录查询此部分主要是实现查询图书借阅记录的功能,包括未归还图书记录和历史借阅记录。借阅记录查询分为管理员查询和用户查询,主要是通过给管理员和用户分别设计查询页面来实现两个不同角色的查询功能。管理员拥有最高的权限,可以查询到所有用户的图书借阅记录,而用户查询只能查询到自己名下的图书借阅记录,保证了数据的安全。在查询图书记录时,可以通过用户id和图书id两个外键分别从用户信息表和图书信息表中将该用户和该图书的详细信息查询出来并显示在页面中。图5.35用户查询未归还记录图5.36用户查询历史借阅记录图5.37管理员查询未归还记录图5.38管理员查询历史借阅记录系统测试测试在开发阶段对于一个系统来说必不可少,其目的是为了验证系统的各个功能是否能成功实现,及验证页面控制是否能够达到预期的效果,在无法达到预期效果时可以寻找出问题所在并将其解决,一步步将系统完善。本次测试的主要内容如下:测试各个模块的功能是否能正常使用测试各个限制条件是否达到预期效果测试用户和管理员的权限管理是否正常测试未登录的用户按路径进行访问是否被拒绝下面测试记录表:序号测试内容测试结果1用户注册正常2管理员注册正常3用户登录正常4管理员登录正常5修改密码正常6修改个人信息正常7用户注销正常8图书添加正常9图书修改正常10图书删除正常11图书查询正常12借阅图书正常13归还图书正常14有逾期记录时借阅图书正常(借阅失败)15有记录时再次借阅相同图书正常(借阅失败)16有未归还记录时删除该图书正常(删除失败)17有未归还记录时注销用户正常(注销失败)18用户未登录时通过域名访问正常(访问失败)19用户未登录时通过action访问正常(访问失败)总结经过了这学期近两个月的不懈努力,图书管理系统设计的功能基本上都实现了,但是因为这一次是首次自己独立做一个完整的项目,在此之前也没有这样的完整项目经验,导致在一开始做需求分析的时候有很多地方功能设计考虑得不够周到,所以在该图书管理系统完成后依然存在不少漏洞,需要再慢慢去调试完善。因为之前在学习中也没有系统地学习过Java,所以在做这次毕业设计之前也花了不少时间对SSH框架的基本内容进行学习。即便如此,在完成毕业设计的过程中还是遇到了不少问题,而这时候网络就是最好的老师,所以在遇到问题后,更多的是自己在网络中寻找答案,实在找不到解决方法后再寻求导师的帮助,幸运的是导师也很乐意为我解答。所以在这次毕业设计中我最大的收获就是学会如何去自学,如何自己去解决问题。在完成此次毕业设计的过程中,从开始的需求分析到数据库设计,再到后面SSH框架搭建和程序编写,这一经历让我基本掌握了SSH框架的使用和JSP页面的设计,让我受益匪浅,在提高了自己的编程思维和编程能力的同时,也学习到了许多在课本中体会不到的开发经验,我相信这次完成毕业设计的经历和在完成毕业设计期间遇到的问题都将会成为我未来的职业生涯中最宝贵的经验。

参考文献[1].吕浩音.JSP技术介绍[J].陇东学院学报:自然科学版,2007,017(002):29-31[2].许勇,《Struts2+Hibernate+Spring整合开发深入剖析与范例应用》,清华大学出版社,2013[3].王英瑛,《JSPWEB开发案例教程》,清华大学出版社,2013[4].王英英,《MySQL从入门到精通》,清华大学出版社,2019[5].传智播客高教产品研发部,《SSH框架整合实战教程》,清华大学出版社,2016[6].未来科技,《HTML5+CSS3+JavaScript从入门到精通》,中国水利水电出版社,2017[7].林龙,刘华,《JSP+Servlet+Tomcat应用开发从零开始学》,清华大学出版社,2019[8].明日科技,《Java从入门到精通》,清华大学出版社,2019[9].张晓景,《DIV+CSS3.0网页布局案例精粹》,电子工业出版社,2019[10].牛德雄,《JavaEE(SSH框架)软件项目开发案例教程》,电子工业出版社,2016

谢辞在经过将近两个月的努力后,我的图书管理系统在吴方老师的细心指导和严格要求下顺利完成,让我顺利提交上了在大学生涯中的最后一份答卷。从毕业设计选题,到毕业设计作品的制作,再到现在毕业论文的撰写都离不开吴方老师的悉心教导。感谢吴方老师为了能让我的毕业设计作品和毕业论文能够按时,保质保量地完成,在繁忙的工作中依然抽出宝贵的时间对我进行指导,对我的毕业设计作品提出宝贵的建议,对我的毕业论文做出了校正。吴方老师的指导,让我受益匪浅,学习到了许多在课本中学习不到的知识。借此机会我还要感谢计算机学院的全体老师,感谢你们在大学四年中为我们辛勤付出,感谢你们在课堂上的谆谆教诲,耐心讲解,你们教授的知识让我一生受用,这也将成为我未来的职业生涯中的宝贵经验。同时也要衷心感谢答辩组的各位老师,感谢你们在百忙之中抽出宝贵的时间对我的作品和论文进行审阅。大学四年的时间稍纵即逝,在这四年中,我在北京理工大学珠海学院留下了许多美好难忘的回忆,感谢北京理工大学珠海学院为我提供了如此优秀的师资和学习环境,让我在大学四年里获益良多,给了我一个充实的大学生活,在此祝愿我的母校能够越来越好,最后也祝我们各位同学前程似锦,工作顺利。

电脑故障检测卡代码表

1、特殊代码"00"和"ff"及其它起始码有三种情况出现:

①已由一系列其它代码之后再出现:"00"或"ff",则主板ok。

②如果将cmos中设置无错误,则不严重的故障不会影响bios自检的继续,而最终出现"00"或"ff"。

③一开机就出现"00"或"ff"或其它起始代码并且不变化则为主板没有运行起来。

2、本表是按代码值从小到大排序,卡中出码顺序不定。

3、未定义的代码表中未列出。

4、对于不同bios(常用ami、award、phoenix)用同一代码代表的意义不同,因此应弄清您所检测的电脑是属于哪一种类型的bios,您可查阅您的电脑使用手册,或从主板上的bios芯片上直接查看,也可以在启动屏幕时直接看到。

5、有少数主板的pci槽只有一部分代码出现,但isa槽有完整自检代码输出。且目前已发现有极个别原装机主板的isa槽无代码输出,而pci槽则有完整代码输出,故建议您在查看代码不成功时,将本双槽卡换到另一种插槽试一下。另外,同一块主板的不同pci槽,有的槽有完整代码送出,如dell810主板只有靠近cpu的一个pci槽有完整代码显示,一直变化到"00"或"ff",而其它pci槽走到"38"后则不继续变化。

6、复位信号所需时间isa与pci不一定同步,故有可能isa开始出代码,但pci的复位灯还不熄,故pci代码停要起始代码上。

代码对照表

00.已显示系统的配置;即将控制INI19引导装入。

01处理器测试1,处理器状态核实,如果测试失败,循环是无限的。处理器寄存器的测试即将开始,不可屏蔽中断即将停用。CPU寄存器测试正在进行或者失败。

02确定诊断的类型(正常或者制造)。如果键盘缓冲器含有数据就会失效。停用不可屏蔽中断;通过延迟开始。CMOS写入/读出正在进行或者失灵。

03清除8042键盘控制器,发出TESTKBRD命令(AAH)通电延迟已完成。ROMBIOS检查部件正在进行或失灵。

04使8042键盘控制器复位,核实TESTKBRD。键盘控制器软复位/通电测试。可编程间隔计时器的测试正在进行或失灵。

05如果不断重复制造测试1至5,可获得8042控制状态。已确定软复位/通电;即将启动ROM。DMA初如准备正在进行或者失灵。

06使电路片作初始准备,停用视频、奇偶性、DMA电路片,以及清除DMA电路片,所有页面寄存器和CMOS停机字节。已启动ROM计算ROMBIOS检查总和,以及检查键盘缓冲器是否清除。DMA初始页面寄存器读/写测试正在进行或失灵。

07处理器测试2,核实CPU寄存器的工作。ROMBIOS检查总和正常,键盘缓冲器已清除,向键盘发出BAT(基本保证测试)命令。.

08使CMOS计时器作初始准备,正常的更新计时器的循环。已向键盘发出BAT命令,即将写入BAT命令。RAM更新检验正在进行或失灵。

09EPROM检查总和且必须等于零才通过。核实键盘的基本保证测试,接着核实键盘命令字节。第一个64KRAM测试正在进行。

0A使视频接口作初始准备。发出键盘命令字节代码,即将写入命令字节数据。第一个64KRAM芯片或数据线失灵,移位。

0B测试8254通道0。写入键盘控制器命令字节,即将发出引脚23和24的封锁/解锁命令。第一个64KRAM奇/偶逻辑失灵。

0C测试8254通道1。键盘控制器引脚23、24已封锁/解锁;已发出NOP命令。第一个64KRAN的地址线故障。

0D1、检查CPU速度是否与系统时钟相匹配。2、检查控制芯片已编程值是否符合初设置。3、视频通道测试,如果失败,则鸣喇叭。已处理NOP命令;接着测试CMOS停开寄存器。第一个64KRAM的奇偶性失灵

0E测试CMOS停机字节。CMOS停开寄存器读/写测试;将计算CMOS检查总和。初始化输入/输出端口地址。

0F测试扩展的CMOS。已计算CMOS检查总和写入诊断字节;CMOS开始初始准备。.

10测试DMA通道0。CMOS已作初始准备,CMOS状态寄存器即将为日期和时间作初始准备。第一个64KRAM第0位故障。

11测试DMA通道1。CMOS状态寄存器已作初始准备,即将停用DMA和中断控制器。第一个64DKRAM第1位故障。

12测试DMA页面寄存器。停用DMA控制器1以及中断控制器1和2;即将视频显示器并使端口B作初始准备。第一个64DKRAM第2位故障。

13测试8741键盘控制器接口。视频显示器已停用,端口B已作初始准备;即将开始电路片初始化/存储器自动检测。第一个64DKRAM第3位故障。

14测试存储器更新触发电路。电路片初始化/存储器处自动检测结束;8254计时器测试即将开始。第一个64DKRAM第4位故障。

15测试开头64K的系统存储器。第2通道计时器测试了一半;8254第2通道计时器即将完成测试。第一个64DKRAM第5位故障。

16建立8259所用的中断矢量表。第2通道计时器测试结束;8254第1通道计时器即将完成测试。第一个64DKRAM第6位故障。

17调准视频输入/输出工作,若装有视频BIOS则启用。第1通道计时器测试结束;8254第0通道计时器即将完成测试。第一个64DKRAM第7位故障。

18测试视频存储器,如果安装选用的视频BIOS通过,由可绕过。第0通道计时器测试结束;即将开始更新存储器。第一个64DKRAM第8位故障。

19测试第1通道的中断控制器(8259)屏蔽位。已开始更新存储器,接着将完成存储器的更新。第一个64DKRAM第9位故障。

1A测试第2通道的中断控制器(8259)屏蔽位。正在触发存储器更新线路,即将检查15微秒通/断时间。第一个64DKRAM第10位故障。

1B测试CMOS电池电平。完成存储器更新时间30微秒测试;即将开始基本的64K存储器测试。第一个64DKRAM第11位故障。

1C测试CMOS检查总和。.第一个64DKRAM第12位故障。

1D调定CMOS配置。.第一个64DKRAM第13位故障。

1E测定系统存储器的大小,并且把它和CMOS值比较。.第一个64DKRAM第14位故障。

1F测试64K存储器至最高640K。.第一个64DKRAM第15位故障。

20测量固定的8259中断位。开始基本的64K存储器测试;即将测试地址线。从属DMA寄存器测试正在进行或失灵。

21维持不可屏蔽中断(NMI)位(奇偶性或输入/输出通道的检查)。通过地址线测试;即将触发奇偶性。主DMA寄存器测试正在进行或失灵。

22测试8259的中断功能。结束触发奇偶性;将开始串行数据读/写测试。主中断屏蔽寄存器测试正在进行或失灵。

23测试保护方式8086虚拟方式和8086页面方式。基本的64K串行数据读/写测试正常;即将开始中断矢量初始化之前的任何调节。从属中断屏蔽存器测试正在进行或失灵。

24测定1MB以上的扩展存储器。矢量初始化之前的任何调节完成,即将开始中断矢量的初始准备。设置ES段地址寄存器注册表到内存高端。

25测试除头一个64K之后的所有存储器。完成中断矢量初始准备;将为旋转式断续开始读出8042的输入/输出端口。装入中断矢量正在进行或失灵。

26测试保护方式的例外情况。读出8042的输入/输出端口;即将为旋转式断续开始使全局数据作初始准备。开启A20地址线;使之参入寻址。

27确定超高速缓冲存储器的控制或屏蔽RAM。全1数据初始准备结束;接着将进行中断矢量之后的任何初始准备。键盘控制器测试正在进行或失灵。

28确定超高速缓冲存储器的控制或者特别的8042键盘控制器。完成中断矢量之后的初始准备;即将调定单色方式。CMOS电源故障/检查总和计算正在进行。

29.已调定单色方式,即将调定彩色方式。CMOS配置有效性的检查正在进行。

2A使键盘控制器作初始准备。已调定彩色方式,即将进行ROM测试前的触发奇偶性。置空64K基本内存。

2B使磁碟驱动器和控制器作初始准备。触发奇偶性结束;即将控制任选的视频ROM检查前所需的任何调节。屏幕存储器测试正在进行或失灵。

2C检查串行端口,并使之作初始准备。完成视频ROM控制之前的处理;即将查看任选的视频ROM并加以控制。屏幕初始准备正在进行或失灵。

2D检测并行端口,并使之作初始准备。已完成任选的视频ROM控制,即将进行视频ROM回复控制之后任何其他处理的控制。屏幕回扫测试正在进行或失灵。

2E使硬磁盘驱动器和控制器作初始准备。从视频ROM控制之后的处理复原;如果没有发现EGA/VGA就要进行显示器存储器读/写测试。检测视频ROM正在进行。

2F检测数学协处理器,并使之作初始准备。没发现EGA/VGA;即将开始显示器存储器读/写测试。.

30建立基本内存和扩展内存。通过显示器存储器读/写测试;即将进行扫描检查。认为屏幕是可以工作的。

31检测从C800:0至EFFF:0的选用ROM,并使之作初始准备。显示器存储器读/写测试或扫描检查失败,即将进行另一种显示器存储器读/写测试。单色监视器是可以工作的。

32对主板上COM/LTP/FDD/声音设备等I/O芯片编程使之适合设置值。通过另一种显示器存储器读/写测试;却将进行另一种显示器扫描检查。彩色监视器(40列)是可以工作的。

33.视频显示器检查结束;将开始利用调节开关和实际插卡检验显示器的关型。彩色监视器(80列)是可以工作的。

34.已检验显示器适配器;接着将调定显示方式。计时器滴答声中断测试正在进行或失灵。35.完成调定显示方式;即将检查BIOSROM的数据区。停机测试正在进行或失灵。

36.已检查BIOSROM数据区;即将调定通电信息的游标。门电路中A-20失灵。

37.识别通电信息的游标调定已完成;即将显示通电信息。保护方式中的意外中断。

38.完成显示通电信息;即将读出新的游标位置。RAM测试正在进行或者地址故障>FFFFH。

39.已读出保存游标位置,即将显示引用信息串。.

3A.引用信息串显示结束;即将显示发现信息。间隔计时器通道2测试或失灵。

3B用OPTI电路片(只是486)使辅助超高速缓冲存储器作初始准备。已显示发现<ESC>信息;虚拟方式,存储器测试即将开始。按日计算的日历时钟测试正在进行或失灵。

3C建立允许进入CMOS设置的标志。.串行端口测试正在进行或失灵。

3D初始化键盘/PS2鼠标/PNP设备及总内存节点。.并行端口测试正在进行或失灵。

3E尝试打开L2高速缓存。.数学协处理器测试正在进行或失灵。

40.已开始准备虚拟方式的测试;即将从视频存储器来检验。调整CPU速度,使之与外围时钟精确匹配。

41中断已打开,将初始化数据以便于0:0检测内存变换(中断控制器或内存不良)从视频存储器检验之后复原;即将准备描述符表。系统插件板选择失灵。

42显示窗口进入SETUP。描述符表已准备好;即将进行虚拟方式作存储器测试。扩展CMOSRAM故障。

43若是即插即用BIOS,则串口、并口初始化。进入虚拟方式;即将为诊断方式实现中断。.44.已实现中断(如已接通诊断开关;即将使数据作初始准备以检查存储器在0:0返转。)BIOS中断进行初始化。

45初始化数学协处理器。数据已作初始准备;即将检查存储器在0:0返转以及找出系统存储器的规模。.

46.测试存储器已返回;存储器大小计算完毕,即将写入页面来测试存储器。检查只读存储器ROM版本。

47.即将在扩展的存储器试写页面;即将基本640K存储器写入页面。

48.已将基本存储器写入页面;即将确定1MB以上的存储器。视频检查,CMOS重新配置。

49.找出1BM以下的存储器并检验;即将确定1MB以上的存储器。.

4A.找出1MB以上的存储器并检验;即将检查BIOSROM数据区。进行视频的初始化。

4B.BIOSROM数据区的检验结束,即将检查<ESC>和为软复位清除1MB以上的存储器。.4C.清除1MB以上的存储器(软复位)即将清除1MB以上的存储器.屏蔽视频BIOSROM。.4D。已清除1MB以上的存储器(软复位);将保存存储器的大小。.

4E若检测到有错误;在显示器上显示错误信息,并等待客户按<F1>键继续。开始存储器的测试:(无软复位);即将显示第一个64K存储器的测试。显示版权信息。

4F读写软、硬盘数据,进行DOS引导。开始显示存储器的大小,正在测试存储器将使之更新;将进行串行和随机的存储器测试。.

50将当前BIOS监时区内的CMOS值存到CMOS中。完成1MB以下的存储器测试;即将高速存储器的大小以便再定位和掩蔽。将CPU类型和速度送到屏幕。

51.测试1MB以上的存储器。.

52所有ISA只读存储器ROM进行初始化,最终给PCI分配IRQ号等初始化工作。已完成1MB以上的存储器测试;即将准备回到实址方式。进入键盘检测。

53如果不是即插即用BIOS,则初始化串口、并口和设置时种值。保存CPU寄存器和存储器的大小,将进入实址方式。.

54.成功地开启实址方式;即将复原准备停机时保存的寄存器。扫描“打击键”

55.寄存器已复原,将停用门电路A-20的地址线。.

56.成功地停用A-20的地址线;即将检查BIOSROM数据区。键盘测试结束。

57.BIOSROM数据区检查了一半;继续进行。.

58.BIOSROM的数据区检查结束;将清除发现<ESC>信息。非设置中断测试。

59.已清除<ESC>信息;信息已显示;即将开始DMA和中断控制器的测试。.

5A..显示按“F2”键进行设置。

5B..测试基本内存地址。

5C..测试640K基本内存。

60设置硬盘引导扇区病毒保护功能。通过DMA页面寄存器的测试;即将检验视频存储器。测试扩展内存。

61显示系统配置表。视频存储器检验结束;即将进行DMA#1基本寄存器的测试。.

62开始用中断19H进行系统引导。通过DMA#1基本寄存器的测试;即将进行DMA#2寄存器的测试。测试扩展内存地址线。

63.通过DMA#2基本寄存器的测试;即将检查BIOSROM数据区。.

64.BIOSROM数据区检查了一半,继续进行。.

65.BIOSROM数据区检查结束;将把DMA装置1和2编程。.

66.DMA装置1和2编程结束;即将使用59号中断控制器作初始准备。Cache注册表进行优化配置。

67.8259初始准备已结束;即将开始键盘测试。.

68..使外部Cache和CPU内部Cache都工作。

6A..测试并显示外部Cache值。

6C..显示被屏蔽内容。

6E..显示附属配置信息。

70..检测到的错误代码送到屏幕显示。

72..检测配置有否错误。

74..测试实时时钟。

76..扫查键盘错误。

7A..锁键盘。

7C..设置硬件中断矢量。

7E..测试有否安装数学处理器。

80.键盘测试开始,正在清除和检查有没有键卡住,即将使键盘复原。关闭可编程输入/输出设备。

81.找出键盘复原的错误卡住的键;即将发出键盘控制端口的测试命令。.

82.键盘控制器接口测试结束,即将写入命令字节和使循环缓冲器作初始准备。检测和安装固定RS232接口(串口

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论