网上图书资料管理系统

上传人:dfg****19 文档编号:180321308 上传时间:2023-01-05 格式:DOC 页数:46 大小:984KB
返回 下载 相关 举报
网上图书资料管理系统_第1页
第1页 / 共46页
网上图书资料管理系统_第2页
第2页 / 共46页
网上图书资料管理系统_第3页
第3页 / 共46页
点击查看更多>>
资源描述
毕业设计报告原创性声明本人郑重声明:所呈交的毕业设计报告网上图书资料管理系统 是本人在导师指导下,在江苏师范大学计算机学院学习期间,进行毕业设计时取得的成果。本人知道,除文中已经标明引用的内容外,本毕业设计报告不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人或集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。网上图书资料管理系统摘 要: Internet带给我们的不仅是无穷的信息,更为我们带来了很多的便利。在这个科技发展的时代,网络应用十分广泛,所以许多人愿意通过网络来使他们的生活变得更加的方便。网上图示资料管理系统的出现在为大家带来便利的同时也为国家省了一部分的资源,而且将书籍存放在网络上也不用担心书籍损坏或是丢失等认为的破坏。因此网络图书管理平台的建立是很有意义的。网上图书资料管理平台主要用于简化图书阅览过程,增强图书阅览实时性。本系统主要分为以下几个模块:会员模块,管理员模块,图书管理模块以及书架管理模块。系统中,设计了图书查询功能,支持模糊查询,节约图书查询时间。设计会员书架功能,会员可添加、删除图书,增强了系统与用户的互动性。设计了图书案章节阅读功能,增加了阅读快捷性。本系统以java语言为基础,通过各种框架,构建成为一个功能丰富的网上图书资料管理系统。关键词: 网络、图书资料管理、MVC、JDBC、JSPOnline Book Management System Abstract: Internet brounds us not only endless information, but also more convenient. In this era os rapid development of science and technology, network application is very exetensive, so many people are willing to through the Internet to make their lives more convenient. At this time, the emergence of the Itnternet in the library to facilitate everyones also a part of the state of the resources, you can not print a lot of paper books,and books will be stored on the network without having to worry about the books will be damaged or is lost, and other manmade damage. Therefore netwoke management platform for the establishment of books is of great significance.It mainly to be used in simplify the books reading process, enhancement books reading timeliness that On-line books and reference materials manages the platform. This system mainly divides into the following several modules: Member module, manager module, books administration module and as well as bookshelf administration module In the system, it has inquiry function which supports the fuzzy inquiry. It also saves many time to query books. It has the members bookshelf function the, the member can addad and delete the books, it can enhancement interactived between user and system. It has designed the books function that it read according to the chapter.To java language-based, through a variety of open-source framework, it is easy to build a feature-rich online library.Keywords: Network、Library information management、MVC、JDBC、JSP目 录第1章 绪论11.1 开发背景11.2 本系统的特色和创新1第2章 系统的运行环境与开发环境32.1系统的运行环境32.2系统的开发环境32.2.1 开发语言-Java32.2.2 开发框架32.2.3 MVC模式32.2.4 JDBC技术介绍42.2.5 JSP技术42.3本章小结4第3章 系统的分析53.1 系统的可行性分析53.1.1 经济可行性53.1.2 技术可行性53.1.3 操作可行性53.1.4 社会可行性53.2系统的需求分析53.2.1 管理员模块53.2.2 会员模块53.2.3 图书管理模块53.2.4 书架管理模块53.3 实体关系图63.3.1 总体E-R模型63.3.2 管理员实例E-R图63.3.3 会员实体E-R图73.3.4 书架实体E-R图83.3.5 图书实体E-R图83.4本章小结9第4章 系统详细设计104.1 系统功能分析104.2 数据库结构设计104.2.1 数据库的需求分析104.2.2 数据库创建的意义114.3 总体设计114.3.1 管理员模块114.3.2 图书模块114.3.3 会员模块124.3.4 书架模块124.4 系统流程图134.4.1 登录算法流程图134.4.2 管理员算法流程图144.4.3 会员算法流程图154.5 数据库设计154.5.1 管理员信息154.5.2 图书分类164.5.3 图书信息164.5.4 图书章节174.5.5 会员信息174.5.6 书架信息174.6本章小结18第5章 系统的实现195.1安装方案195.2 使用说明195.3 程序设计195.3.1 注册功能195.3.2 登录功能205.3.3 管理员登录225.3.4 会员登录245.4 程序测试255.4.1 测试原理255.4.2 测试过程255.5 本章小结27第6章 总结与展望286.1 总结286.2 展望28毕业设计体会29致谢30参考文献31英文翻译资料32II第1章 绪论1.1 开发背景21世纪是知识经济时代,计算机网络作为这一时代重要的生产工具,给各个国家带来了巨大的发展机遇。Internet电子商务的发展对于一个国家而言,不仅仅意味着一个商业机会,它还意味着一个全新的全球性的网络驱动经济的诞生,这并非虚言,我们正在迈向一个拥有数10亿台互联电脑的世界,在这个时代,信息就意味着财富。据报道,1995-2000年全球电子商务市场的营业额将达250亿美元。通过Internet互联的计算机将是企业在下一个10年制胜的有效工具。随着计算机科学的发展,数据库技术在Internet中的应用越来越广泛,为广大网络用户提供了更加周到和人性化的服务。个性化已逐渐成为web应用的潮流。本系统具有用户更简单、界面更直观等优点。网上图书管理在我国刚起步,但是发展很快。随着互联网技术的成熟,会有越来越多的人选择在网上阅读图书。而且信息高速公路计划的实施,人类社会进入了信息时代。Internet遍布全球,将世界各地各种规模的网络连接成为一个整体。作为Internet上一种先进的,易于被人们所接受的信息检索手段,网络发展非常迅速,成为目前世界上最大的信息资源宝库。 在国家大力推进信息化建设的宏观背景下,城市网络基础设施及应用水平均已得到了较大的完善和提升。特别是经济发达的沿海地区,商贸服务业也比较发达,市民接受新事物能力和消费水平均较高。随着计算机的发展和普及,网络已经成为人们获取信息的一种方便、快捷、有效的手段。越来越多的人选择用网络来解决很多事。比如网上购物,用网络来联系,所以,在网上看书也即将成为一种趋势。这也是本系统诞生的原因。本系统主要以Java为开发语言,所涉及的Java技术主要有J2EE、Java Struts与JSP。所使用的服务器是Tomcat。J2EE是使用Java技术开发企业级应用的一种事实上的工业标准,它是Java技术不断适应和促进企业级应用过程中的产物,它使中间件的编写更加容易、可扩展性更强。Java Struts是开源软件。使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。Struts可以清晰的区分控制、事物逻辑和外观,从而简化了开发应用程序的过程。Struts提供的类是的开发工作更加的简单。随着java的流行,其再Web上的应用也越来越广,tomcat作为一个开源的servlet容器,应用前景越来越广。所以也越来越受到人们的青睐。1.2 本系统的特色和创新(1)现在,科学技术的飞速发展把人类社会推向了一个崭新的时代-信息时代。这已是无可争议的事实:信息对社会经济发展的巨大推动作用,使其与物质能源一起并列为现代社会的三大支柱,这在全社会达到共识。随着对信息作为一种资源来管理的需求日益加强,信息研究领域出现了一种崭新的管理思想和模式-信息管理。网上图书管理系统就是典型的信息管理。一直以来人们使用传统的人工方式管理图书馆的工作,对于图书馆的还书过程,主要依靠手工。并且对于读者的信息,不能很好的保存。而本系统将不存在这样的劣势。归纳起来,本系统具有如下优点:1)可以让用户在网上阅读图书,体会到网上读书的乐趣。2)可以节约人力、物力资源。3)可以看到最新、最全的图书4)查找方便5)界面美观、大方,操作简单。另外本系统使用MVC模式,使得视图层和业务层分离,这样就允许更改视图层代码而不用重新编译模型和控制器代码,同样,一个应用的业务流程或者业务规则的改变只需要改动MVC的模型层即可。因为模型与控制器和视图相分离,所以很容易改变应用程序的数据层和业务规则。(2)本系统在前后台模块之间保持较好的模块独立性。整个系统分为两大模块:前台与后台,其中前台主要负责输入界面的数据控制以及界面与数据库的关联,而后台主要是对系统数据进行集中处理,前后台模块之间高内聚低耦合,保持看较好的模块独立性。(3)关系数据库作为系统后台数据库。关系数据库是支持关系模型的数据库系统。关系模型由关系数据结构、关系操作集合和完整性约束三部分组成。关系操作分为关系代数、关系演算、具有关系代数和关系演算双重特点的语言(sql语言)。关系数据库的完整性约束能够使得本系统数据库设计达到完整性、参照完整性和用户定义的完整性。第2章 系统的运行环境与开发环境2.1系统的运行环境软件运行环境:windows 2000/XP,Oracle数据库服务器:apache-tomcat-6.0.262.2系统的开发环境2.2.1 开发语言-JavaJava是一种简单易用、完全面向对象、有平台无关性、安全可靠的、主要面向Internet的开发工具。Java语言被美国杂志PC Magazine评为1995年十大优秀科技产品。比尔盖茨曾说过:“Java是长时间以来最卓越的程序设计语言”。5Java自问世以来,技术和应用发展非常快,在很多领域都有应用。而且Java不支持指针,一切对内存的访问都必须通过对象的实例变量来实现,这样就防止程序员使用“特洛伊”木马等欺骗手段,大大提高了安全性6。2.2.2 开发框架Struts框架Struts作为MVC的Web框架,自推出以来不断受到开发者的追捧,得到广泛的应用。由于Struts1需要编写的代码很多,容易引起“类爆炸”,而且单元测试困难,这就促生了Struts2的诞生。与Struts1相比,Struts2的所有类都基于接口,核心接口独立于HTTP。这些API并不依赖服务器小程序API。在Struts2中,没有ActionForm。而是将ActionForm中定义的属性可以直接放在Action类上。不仅仅如此,在Struts2中,标签有很多的改进,如标签被标签取代。Struts2中标签不单单发送输出数据,还能提供样式表驱动标记,这样就可以用较少的代码构建一致性页面。此外,Struts2Action独立于HTTP,因而与框架中立,很容易测试。Struts为拦截器提供了全面的支持。他还支持Ajax的动态Web应用,并且加入了Java5注释,作为XML和Java属性配置之外的一个替代办法。总之,在Struts2中有很多的改进,可以使他的使用更为灵活。2.2.3 MVC模式MVC(Model-View-Contorller)是XeroxPARC在20世纪80年代为编程语言Smalltalk-80所发明的一种软件设计模式,至今已被广泛使用,最近几年被推荐为Sum公司J2EE平台的设计模式,其为开发交互式应用系统提供了一个优秀的设计模式,受到越来越多开发者的欢迎。MVC强制性地把应用程序的输入、处理和输出分开。MVC把应用程序分成三个核心模块:模型、视图和控制器,它们分别担负不同的任务。(1)视图视图是用户看到并与之交互的界面。视图向用户显示相关的数据,并能接受用户的输入数据,但是它并不进行任何实际的业务处理。视图可以向模型查询业务状态,但并不能改变模型。视图还能接受模型发出的数据更新事件,从而对用户界面进行同步更新。(2)模型模型是应用程序的主体部分。模型表示业务数据和业务逻辑。一个模型能为多个视图提供数据。由于同一个模型可以被多个视图重用,所以提高了应用的可重用性。(3)控制器控制器接受用户的输入并调用模型和视图去完成用户的需求。当Web用户单击Web页面中的提交按钮来发送HTML表单时。控制器接收请求并调用相应的模型组件去处理请求,然后调用相应的视图来显示相应模型的返回数据。(4)MVC处理过程首先控制器接受用户的请求,并决定应该调用哪个模型来进行处理;然后模型根据用户请求进行相应的业务逻辑处理,并返回数据;最后控制器调用相应的视图来格式化模型返回数据,并通过视图呈现给用户。2.2.4 JDBC技术介绍JDBC是一种用于执行SQL语句的JAVA API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯Java API编写数据库应用程序,有了JDBC,向各种关系数据发送SQL调用。同时,将Java语言和JDBC结合起开使程序不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。2.2.5 JSP技术JSP是一种服务器端得编程语言,客户端不使用原始的Java/JSP代码。Java能够以小程序的形式或者安装在台式机上的应用程序的形式在客户端使用。JSP页面是通过特殊标记和Java代码进行扩展的HTML形式的Web页面,Web服务器和JavaServer引擎都采用这两种方式来创建客户端的Web浏览器。2.3本章小结这一章节主要讲述了本系统开发的运行环境和开发工具。本系统主要用了Java为开发语言,并且对java语言进行了拓展。在这一基础上,用了struts框架以及MVC模式。在连接数据库方面,是用JDBC连接的数据库,而前台的页面显示则是用JSP来实现。第3章 系统的分析3.1 系统的可行性分析3.1.1 经济可行性系统以网络的方式传递图书信息,借助网络的力量,从而更好的实现了网上图书信息的管理,减少了不必要的开支,并且系统以信息化的管理提高了系统的可行性。系统的制作只要安装MyEclipse和oracle 数据库,开发时只要系统支持就行了,所以在经济上设计是可行的。3.1.2 技术可行性本系统采用Java作为开发语言,以oracle作为数据库。Java语言具有强大的功能,对于系统各项功能的实现,系统的运行效率和安全性的提高都有很大的帮助。在21世纪的今天,电脑已经普及到每家每户,而且一般人都有计算机的基础,所以本系统在技术上是可行的。3.1.3 操作可行性对于有一定基础的用户,本系统操作简单,不需要过多深入的了解,所以本系统在操作上是可行的。3.1.4 社会可行性在21世纪的今天,计算机已经渗透到各个领域,成为各行各业必不可少的工具。在网络盛行的今天,网上看书已经成为趋势,更能适应社会的发展,也能创造更多的利益以及价值。3.2系统的需求分析网上图书管理系统,为人们看书提供了一个更好的平台,使人们足不出户就可以在网上看到自己想看的。本系统一个有四个功能模块:管理员模块、会员模块、图书管理模块、书架管理模块。3.2.1 管理员模块管理员一共有三个子系统管理员可以创建新的管理员赋予一定的权限来管理系统。当管理员登录以后,可以对图书信息进行一定的操作。管理员还可以查看会员信息,并且可以删除会员信息。3.2.2 会员模块会员包括图书查询、个人信息的修改、添加个人书架三个子系统。会员登录以后可以根据图书分类、图书名称、章节信息来查看图书。会员对查看到的图书,如果喜欢,看以加入个人收藏夹,也可以进行删除。会员可以在登录以后可以对自己个人信息进行修改,对个人书架进行管理。3.2.3 图书管理模块在图书管理模块们主要是由管理员进行操作的。管理员可以对图书信息进行相应的添加、删除、修改以及查看。3.2.4 书架管理模块书架管理模块主要是由会员自己进行操作的。会员登录以后,可以把查看到得图书加入自己的个人收藏夹,可以查看个人收藏夹,对书架可以删除、修改。3.3 实体关系图3.3.1 总体E-R模型 图3.1 总体E-R模型3.3.2 管理员实例E-R图描述了管理员的姓名,首次登录时间,以及上次退出时间。管理员姓名首次登录时间上次退出时间图3.2管理员E-R图3.3.3 会员实体E-R图描述了会员的基本信息:会员的账号、邮箱、个人主页、注册日期、上次登录时间、生日、地址、性别、姓名等。会员账号邮箱个人主页注册日期上次登录时间生日地址性别姓名图3.3会员E-R图3.3.4 书架实体E-R图描述了书架的基本信息:图书录入时间、最近阅读时间、会员姓名、图书名称。以供会员查看,以及对书架进行管理。书架图书录入时间最近阅读时间会员姓名图书名称图3.4书架实体E-R图3.3.5 图书实体E-R图描述了图书的基本信息:图书名称、图书简介、入库时间以及图书类型。图书图书名称图书简介入库时间图书类型图3.5图书信息E-R图3.4本章小结这一章节主要讲述了系统的可行性分析,包括经济可行性、技术可行性、社会可行性以及操作可行性分析,从这几个跟面来阐述了本系统的可行性,并对系统进行了需求分析,确定了本系统的四个功能模块:管理员模块、会员模块、图书管理模块、书架管理模块并且根据系统的需求分析,画出了各个功能模块的E-R图。第4章 系统详细设计4.1 系统功能分析网上图书资料管理系统是一个Web应用系统,主要功能是完成用户管理,书架管理,会员管理,图书管理四项功能,读者可以在网上直接选定自己想要看的书在线浏览或者是下载收藏。将整个系统功能模块分为如下几个子模块:网上图书资料管理员模块书架管理模块图书管理模块会员管理模块图4.1层次方框图会员管理模块:会员注册、会员登录、会员个人信息管理书架管理模块:添加图书、删除图书、显示图书列表、查看书的具体内容管理员管理模块:管理员登录、查看图书信息、对数据库中的信息进行增删改查图书管理模块:管理员添加图书信息、删除图书信息、修改图书信息、查看所有图书、添加管理员信息、修改管理员信息4.2 数据库结构设计数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏降直接影响到系统的效率及系统实现的效果。合理的数据库结构设计可以提高数据库存储的效率,保证数据的完整性和一致性。合理的数据库结构也将有利于程序的实现14。4.2.1 数据库的需求分析用户的需求具体体现在各种信息的添加、修改、删除和查询,这种数据库结构能够满足各种信息的输入和输出。收集基本数据、数据结构及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础10。需求分析是软件定义时期的最后一个阶段,它的基本任务是准确的回答“系统必须做什么”这个问题7。需求分析的任务还不是确定系统怎样完成它的工作,而仅仅是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。结合系统的实际情况,系统功能如下:1)会员注册2)会员登录3)管理员登录4)管理员修改图书资料5)每个会员对应有一个书架6)会员可以往自己的书架中添加图书7)图书可以按分类来查找8)可以通过每章的题目来查找当前章节的信息9)可以查看图书的具体内容4.2.2 数据库创建的意义数据表是一组有意义的,相对完整的数据的集合,它是构成数据库的最直接的单元。换句话说,数据库是由一个或多个数据表直接构成的。4.3 总体设计4.3.1 管理员模块在管理员模块中,可以执行对管理员的添加、查询、更新、删除等操作。可以通过管理员账号查找管理员。程序将所有对管理员用到的模块都封装到了SysUserAction中,其中包括了对管理员的添加、查询、修改、删除等操作。通过book_servlet.xml获得了业务逻辑层ISysUserService,注册一个管理员int savaSysUser(SysUser sysUser),修改管理员的信息int updateSysUser(SysUser sysUser),通过管理员的账号删除管理员int deleteSysUser(String account),通过账号查找管理员信息SysUser findByPrimaryKey(String account),显示所有管理员的信息ListqueryBySql(String criteria)。在通过book_service.xml获得了DAO层得SysUserImpl,实现对数据库的具体的曾删改查。4.3.2 图书模块在图书模块中,可以把图书模块分为三个部分:图书类别、图书信息、图书章节。程序将对图书的具体操作都封装到了BookAction中,其中包括了对图书类别、信息、章节等一系列增删改查功能。通过(book_servlet.xml)将Action和Service层进行关联;用(book_service.xml)把Service层和Dao层进行关联;最后用(book_dao.xml)文件把Dao层和JDBCTemplate相关联,这样就完成了Spring和JDBC的完美结合。在图书类别中,通过图书的类别对图书类别进行保存 int savaBookType(BookTYpe bookType)、通过类型的id对图书类别进行删除 int deleteBookType(LongBookTypeId)、通过类别查询图书,并按照图书类型返回一个存放图书的集合ListqueryBySqlOfBookType(String criteria)、通过图书的类型号查找他所对应的图书类型,并修改BookType finfBookPrimaryKeyOfBookType(LongbookTypeId)通过book_service.xml获得了Dao层得BookTypeImpl,实现对数据库的具体的增删改查。在图书信息中,通过图书信息对图书进行保存int savaBookInfo(BookInfo bookinfo)、通过图书信息修改图书int updateBookInfo(BookInfo bookinfo)、通过图书类别book_type_id 来查询图书,并按图书类型返回一个存放图书的集合Listquery(Long bookTypeId)、通过图书的book_type_id查找一类图书,BookInfo findByPrimaryKeyOfBookInfo(Long bookInfoId)、通过book_service.xml获得了DAO层得BookInfoImpl,实现对数据库的具体的增删改查。在章节信息中,通过章节的信息可以对章节进行保存 itn savaBookChapter(BookChapter bookChapter)、通过章节的信息可以对章节进行修改 int updateBookChapter(BookChapter bookChapter)、通过章节的book_chapter_id可以对章节的信息进行修改int deleteBookChapter(Long bookChapterId)、通过章节的book_chapter_id来实现对章节内容的查找一个章节飞内容BookChapter findByprimaryKeyOfBookChapter(Long bookChapterId)、通过图书的book_info_id也可以实现对章节内容的查找,并且返回一个所有章节的集合List queryBookChapter(Long bookInfoId)。通过book_service.xml获得了DAO层的BookChapterImpl,实现对数据库的具体的增删改查。4.3.3 会员模块在会员模块中,我们可以对会员进行增删改查,可以通过会员的ID查找会员,可以显示所有会员的信息。我们将所有对会员用到的模块都封装到了IUserServiceAction中,其中包括了对会员添加、查询、修改、删除等操作。通过book_servlet.xml获得了业务逻辑层IUserService,注册一个会员int savaMemberInfo(MemberInfo memberInfo)、修改管理员的信息int updateMemberInfo(MemberInfo memeberInfo),通过会员的账号删除会员int deleteMemberinfo(Long memberInfoId),通过member_info_id查找会员信息MemberInfo findByPrimaryKey(Long memberInfoId),通过账号查找会员的信息ListfindByOnlyFiles(String account),显示所有会员的信息ListqueryBySqlByMember(String criteria)。在通过book_service.xml获得了DAO层得MemberInfoImpl,实现对数据库的具体增删改查。4.3.4 书架模块在书架模块中,用户可以把自己喜欢的图书加到书架中去,以供日后查阅。我们将所有书架用到的模块也封装到了IUserServiceAction中,其中包括对书架的保存int savaBookShelfInfo(BookShelf bookShelfInfo),通过book_shelf_id删除书架int deletebookShelfInfo(Long bookShelf),通过member_info_id 和book_shelf_id 共同删除书架int deleteBookShelfInfo(Long memberInfo Long bookInfo),通过书架的book_shelf_id来查找书架BookShelfInfo findByPrimaryKeyBs(Long bookShelfId),显示所有书架中书的信息ListqueryBySql(String criteria),通过member_info_id来查找书架中书籍的信息ListfindBookOfBookShelf(Long memberInfoId)。4.4 系统流程图4.4.1 登录算法流程图开始输入姓名在数据库中是否存在?输入密码与姓名是否匹配?成功结束是否否是图4.1登录算法流程图登录流程图主要描述了登录的过程:开始,输入姓名,看看在数据库中是否存在,然后输入密码,判断是否与姓名相匹配,是的话就成功,登录结束。4.4.2 管理员算法流程图开始登录是否成功?查看会员列表结束否是添加图书删除图书创建管理员图4.2管理员算法流程图管理员流程图:管理员开始登录,登录成功之后,管理员可以进行一系列操作,管理员可以添加图书,删除图书,还可以再创建一个管理员,也可以查看会员列表。4.4.3 会员算法流程图开始登录是否成功?修改个人信息结束否是给书架添加图书删除书架内容阅读图书图4.3会员算法流程图会员流程图:会员登录成功后,可以进行一系列的操作:会员给自己的书架添加图书,也可以删除书架的内容。会员可以直接阅读图书,并且可以修改个人信息。4.5 数据库设计4.5.1 管理员信息具体的管理员基本信息,代表现实世界中一个真实的人。主键是管理员的账号。管理员信息包括管理员的账号,管理员登录密码,真实姓名还有备注信息以及首次输入的时间和最后更改时间。在管理员信息表中,登录密码、真实姓名、首次输入时间都是非空的。表4.1管理员信息字段名字段类型中文描述备注非空主键ACCOUNTVARCHAR(64)唯一标识/账号LOGIN_PASSWORDVARCHAR(64)登录密码NAMEVARCHAR(32)真实姓名REMARKSVARCHAR(1024)备注信息ENTER_TIMEDATATIME首次输入时间CHANGE_TIMEDATATIME最后更改时间4.5.2 图书分类图书的类别信息。它的唯一主键是图书分类编号。图书信息包括图书分类编号,图书分类名称,备注信息,以及首次输入时间和最后更改时间。图书分类名称和首次输入时间是非空的。表4.2图书分类字段名字段类型中文描述备注非空主键BOOK_TYPE_IDNUMERIC(19,0)唯一标识/图书分类编号NAMEVARCHAR(64)图书分类名称REMARKSVARCHAR(1024)备注信息ENTER_TIMEDATETIME首次输入时间CHANGE_TIMEDATETIME最后更改时间4.5.3 图书信息具体描述图书的信息,唯一主键是图书编号。图书信息包括图书编号,图书名称,图书简介,备注信息,还包括了管理员首次输入图书的时间和最后更改的时间。在图书信息里面把图书分类编号设为了外键。并且图书名称、图书简介和首次输入时间以及图书分类编号都是非空的。表4.3图书信息字段名字段类型中文描述备注非空主键BOOK_INFO_IDNUMERIC(19,0)唯一标识/图书编号 NAMEVARCHAR (32)图书名称CONTEXTTEXT图书简介REMARKSVARCHAR(1024)备注信息ENTER_TIMEDATETIME首次输入时间CHANGE_TIMEDATETIME最后更改时间BOOK_TYPE_IDNUMERIC(19,0)图书分类编号FK4.5.4 图书章节每本图书中章节的显示。章节显示的主键是图书编号,然后下面由章节序号,章节名称,章节内容,备注信息,还包括了管理员首次输入章节信息的时间以及最后更改的时间。图书编号是外键。章节序号、章节名称、章节内容、首次输入时间以及图书编号都是非空的。表4.4图书章节字段名字段类型中文描述备注非空主键BOOK_CHAPTER_IDNUMERIC(19,0)唯一标识/图书编号 SEQINT章节序号NAMEVARCHAR (32)章节名称CONTEXTTEXT章节内容REMARKSVARCHAR(1024)备注信息ENTER_TIMEDATETIME首次输入时间CHANGE_TIMEDATETIME最后更改时间BOOK_INFO_IDNUMERIC(19,0)图书编号FK4.5.5 会员信息具体的用户的基本信息,代表现实世界中一个真实的人。会员信息表中会员编号是主键。会员信息表包括会员编号,会员的账号,姓名、地址、参与者的姓名、生日、邮箱、个人主页、备注信息、首次输入时间以及最后更改时间。会员账号、登录密码、姓名以及首次输入时间都是非空的。表4.5会员信息字段名字段类型中文描述备注非空主键MEMBER_INFO_IDNUMERIC(19,0)唯一标识/会员编号ACCOUNTVARCHAR(64)账号LOGIN_PASSWORDVARCHAR(64)登录密码NAMEVARCHAR(32)姓名ADDRESSVARCHAR(200)地址GENDERCHAR(1)参与者性别BIRTHDAYDATE生日EMAILVARCHAR(100)邮箱INDEX_PAGEVARCHAR(100)个人主页REMARKSVARCHAR(1024)备注信息ENTER_TIMEDATETIME首次输入时间CHANGE_TIMEDATETIME最后更改时间4.5.6 书架信息可以存放用户想要保存的书籍。在书架信息中,书架编号是主键。书架信息包括书架编号,加入时间,最后阅读时间,还包括了图书编号以及会员编号。图书编号和会员编号是外键。加入的时间、图书编号、会员编号都是非空的。表4.6书架信息字段名字段类型中文描述备注非空主键BOOK_SHELF_IDNUMERIC(19,0)唯一标识/书架编号ENTER_TIMEDATETIME加入时间CHANGE_TIMEDATETIME最后阅读时间BOOK_INFO_IDNUMERIC(19,0)图书编号FKMEMBER_INFO_IDNUMERIC(19,0)会员编号FK4.6本章小结本章节主要写了本系统的设计过程。首先对系统进行功能分析,介绍了本系统的四个功能模块,并且对每个模块的功能都做了说明。然后就是数据库的设计,以及数据库表的设计。在系统的总体设计中,对系统各个模块之间做了详细的说明,并且给出了系统的程序流程图,以及登录算法流程图、管理员算法流程图和会员算法流程图。第5章 系统的实现5.1安装方案本产品使用的开发环境是MyEclipse,使用Apache Tomcat6.0数据库使用的是Oracle数据库,建好数据库和表之后,打开Tomcat就可以直接运行了。5.2 使用说明将工程直接部署到服务器上,打开Tomcat, 就可以使用了。5.3 程序设计5.3.1 注册功能主页面 图5.1主页面会员点击注册后会进入注册页面,当用户添加好个人信息以后提交成功就可以通过登录进入了(如图5.2所示)。会员登录public String login()throws SysException, AppException log.debug(登录);log.info(memberInfo);if(memberInfo.getAccount() = null | memberInfo.getAccount().trim().length() 1)return login;List list = userService.findByOnlyFiles(memberInfo.getAccount();if(list = null | list.size() != 1)this.error = 用户名错误!;return login;elseMemberInfo mi = list.get(0);if(!memberInfo.getLoginPassword().equals(mi.getLoginPassword()this.error = 密码错误!;return login;request.getSession().setAttribute(user, mi);request.getSession().removeAttribute(mybook);List blist = userService.findBookOfBookShelf(mi.getMemberInfoId();request.getSession().setAttribute(mybook, blist);memberInfo = new MemberInfo();bookTypeList = bookService.queryBySqlOfBookType(null);log.debug(登录成功);return SUCCESS;图5.2注册页面5.3.2 登录功能在登录时,通过index.jsp页面中的登录和后台管理来区分普通会员登录和管理员登录。当点击登录时,只是普通会员登录(如图5.3),“后台管理”则是管理员登录时使用的(如图5.4)。图5.3会员登录图5.4管理员登录public String login()throws SysException, AppException,Exception log.debug(登录);log.info(sysUser);/日志信息if(sysUser.getAccount() = null | sysUser.getAccount().trim().length() 1)return login;SysUser su = sysUserService.findByPrimaryKey(sysUser.getAccount();if(su = null)this.error = 用户名错误!;return login;elseif(!sysUser.getLoginPassword().equals(su.getLoginPassword()this.error = 密码错误!;return login;request.getSession().setAttribute(adminuser, su);sysUser = new SysUser();log.debug(登录成功);return index;public String logout()throws SysException, AppException request.getSession().removeAttribute(adminuser);request.getSession().getServletContext().setAttribute(, );return index;Overridepublic String execute() throws Exception return index;5.3.3 管理员登录(1)显示所有管理员的功能(图5.5).图5.5显示管理员功能(2)管理员创建新的管理员(如图5.6)图5.6创建新管理员(3)添加图书分类信息(如图5.7)图5.7添加图书分类信息(4)添加图书信息(如图5.8)图5.8添加图书信息(5)添加图书章节信息(如图5.9)图5.9添加图书章节章节查询public String bookChapter() throws SysException, AppException /BookInfo bi = bookService.findByPrimaryKeyOfBookInfo(bookInfo.getBookInfoId();bookChapterList = bookService.queryBookChapter(bookInfo.getBookInfoId();return chapterList;/查看图书章节public String selectBook() throws SysException, AppException log.debug(转向修改);bookTypeList = bookService.queryBySqlOfBookType(null);BookInfo bi = bookService.findByPrimaryKeyOfBookInfo(bookInfo.getBookInfoId();if(bi != null)bookInfo = bi;return SBookInfo;5.3.4 会员登录(1)会员登录(如图5.10) 图5.10 会员登录(2)查找图书(如图5.11) 图5.11查找图书/图书类别查询public String bookType() throws SysException, AppException log.debug(查询所有的图书类别!);bookTypeList = bookService.queryBySqlOfBookType(null);/bookService.queryBySqlOfBookType(null);return typeList;(3)个人书架(如图5.12)图5.12个人书架5.4 程序测试5.4.1 测试原理软件测试的目的是尽可能多的发现并排除软件中潜藏的错误,最终把一个高质量的软件系统交给用户。对于开发出的图书资料管理系统来说,它并不是一个特别复杂的系统,考虑到时间问题,我采用了黑盒测试法进行测试。他只检查程序功能是否按照规格说明书的规格正常使用,程序是否适当的接收输入数据产生正确的输入信息毛病保持外部信息的完整性。5.4.2 测试过程经过综合测试后,本系统就可以运行,经过运行测试本系统运行状态良好。本系统可以检测出用户误操作后产生的种种结果,以管理员为例:(1)当管理员输入名称错误时,如图5.13所示图5.13管理员登陆姓名错误(2)当管理员输入错误的密码时,如图5.14所示图5.14管理员密码错误public String login()throws SysException, AppException,Exception log.debug(登录);log.info(sysUser);if(sysUser.getAccount() = null | sysUser.getAccount().trim().length() 1)return login;SysUser su = sysUserService.findByPrimaryKey(sysUser.getAccount();if(su = n
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 机械制造 > 工业自动化


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!