毕业设计(论文)-瑞德学堂绘本租赁管理系统的设计与实现.doc_第1页
毕业设计(论文)-瑞德学堂绘本租赁管理系统的设计与实现.doc_第2页
毕业设计(论文)-瑞德学堂绘本租赁管理系统的设计与实现.doc_第3页
毕业设计(论文)-瑞德学堂绘本租赁管理系统的设计与实现.doc_第4页
毕业设计(论文)-瑞德学堂绘本租赁管理系统的设计与实现.doc_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

合肥师范学院2015届本科生毕业论文(设计) 本科生毕业论文(设计)题目: 瑞德学堂绘本租赁管理系统的设计与实现学 院 计算机学院 学科门类 工科 专 业 计算机软件 学 号 姓 名 指导教师 2015年 5 月 20 日摘 要绘本租赁让儿童以最少的资金去阅读更多的绘本。现代社会,计算机领域发展的越来越快,传统的人工绘本租赁管理系统已不满足人们的需求,智能化的租赁系统越来越受欢迎。本系统结合绘本租赁的实际需求,主要分为用户和管理员模块。用户模块主要实现的功能是绘本查询、个人借阅、归还信息查询、绘本续借以及个人信息设置。管理员模块主要实现的功能是绘本管理(增,删,查,改)、用户管理(增,删,查,改)、公告管理(增,删,查,改)、绘本借阅与归还。本系统主要采用Eclipse作为系统前台开发平台,SQL Server2008作为后台数据库,Tomcat6.0作为服务器,采用Java,SQL,JSP等语言作为开发语言。本论文在引言篇中对系统的开发背景做了总体的概述,其次通过需求分析章节,进一步的介绍了系统功能。之后介绍了系统概要设计、详细设计及系统实现与测试。关键词:管理系统;绘本租赁;JSP全套设计加扣3012250582 IIAbstractPicturebooksleasehelpschildrenreadpicturebookswithminimumfunds.Inmodernsociety,thedevelopmentofcomputerbecomesfasterandfaster,thetraditionalmanualpicturebooksleasemanagementcannotsatisfythedemandofpeople,intelligentializedsystemsarebecomingincreasinglypopular.Thesystemislinkedwithactualdemandofpicturebooksleasemanagement,anditismainlydividedintothemoduleofuserandadministrator.Themainfunctionsofusermodulearepicturebooksinquiries,personalborrow,returninformationinquiry,picturebooksrenewal,andpersonalinformationsettings.Themainfunctionsadministratormodulearepicturebooksmanagement(add,delete,search,change),usermanagement(add,delete,search,change),bulletinmanagement(add,delete,search,change),picturebooksborrowandreturn.ThesystemmainlyusesEclipseasasystemforegrounddevelopmentplatform,SQLServer2008asthebackenddatabase,Tomcat6.0asaserver,andusesJava,SQL,JSPandotherlanguagesasdevelopmentlanguage.Thispapergivesaoverallreviewofthesystemdevelopmentbackgroundintheintroductionpart,thenextisfollowedbydemandanalysissectiontofurtherdescribethesystemfunctions.Thenitintroducesthesystemoutlinedesign,detaileddesignandsystemimplementationandtesting. Key Words: management system; Picture book rental; JSPIII目 录摘 要IAbstractII1. 引言11.1 开发背景11.2 开发工具和相关技术的介绍11.2.1 TOMCAT6.011.2.2 JSP11.2.3 B/S22. 系统需求分析与可行性研究32.1 需求分析32.2 设计要求32.3 可行性分析52.3.1 技术可行性52.3.2 经济可行性63. 系统设计73.1 系统总体结构73.2 功能模块设计73.2.1 用户模块83.2.2 管理员模块103.3 数据库设计133.3.1 E-R图设计133.3.2 数据库表设计154. 系统详细设计184.1 数据库连接184.2 用户登录184.3 管理员模块194.3.1 绘本管理194.3.2 用户管理224.3.3 公告管理234.3.4 绘本借阅244.3.5 绘本归还254.3.6 个人中心264.4 用户模块274.4.1 绘本查询274.4.2 借阅信息查询274.4.3 归还信息查询284.4.4 绘本续借294.4.5 个人中心294.5 错误提示界面305. 系统的测试与运行315.1 功能测试与执行315.2 集成测试与执行316. 结论32参考文献33附 录34致 谢461.引言1.1 开发背景随着社会进步,生活水平的提高,人们越来越关注孩子的教育问题,教育方式的选择就显得尤为重要。在国内,瑞德学堂已经成为国内领先的早教知名品牌之一,主要针对的客户群体为0-6岁宝宝家庭。学堂中,孩子会从各方面开拓思维,其中绘本阅读就已经成为了全世界儿童的时尚。绘本,英文名称为Picture Book,绘本阅读激发儿童视觉、听觉和思考幻想空间,以达成教育目标。因此绘本具有十分重要的意义和广阔的应用前景。在国外,绘本已经有了100年的发展历史,在发达国家,绘本已经是儿童首选的读物。各国针对绘本设立国际、国内奖项,展现了绘本在国外发展的迅速和受重视的程度。在我国大陆,对绘本的了解与绘本阅读的实践才刚刚起步。近几年我国对于绘本的研究越来越引起儿童文学理论研究者们的重视。绘本现在已经是大部分儿童的首选读物,但是孩子喜欢接触新的事物,新买的绘本看完就丢,并购买其他的绘本,这不但造成了绘本资源的浪费,同时也给家长带来了不小的经济压力,所以借阅方式必然是绘本今后的主要流通方式之一。由于国外更加提倡环保,享受科技带来的方便,计算机管理绘本租赁信息技术已成熟,并投入在早教机构中使用。但是国内使用计算机管理绘本租赁信息技术尚未成熟。绘本管理系统的实现即可使孩子们阅读更多的绘本,也可帮助管理员更加方便的管理信息,所以绘本租赁管理系统具有广阔的发展前景。1.2 开发工具和相关技术的介绍1.2.1 TOMCAT6.0本系统的开发工具主要是Eclipse,SQL Server2008和Tomcat6.0,其中Tomcat6.0作为本系统的服务器。Tomcat服务器是主流的web服务器之一,属于轻量级应用服务器。由于Tomcat技术先进、性能稳定,并且免费,所有深受广大Java爱好者的喜爱。本系统采用的是Tomcat6.0版本,该版本能够支持Servlet2.5和JSP2.1规范1。1.2.2 JSP系统采用的开发语言主要是Java,SQL,JSP等。JSP中文全名为java服务器页面,其根本是一个简化的Servlet设计。传统的网页设计语言是HTML,采用HTML语言设计出的网页是静态页面,早已经不满足实际需求。在HTML语言中插入Java程序段和JSP标记(tag),也就形成了JSP文件。JSP是一种动态页面技术,用来设计动态页面。JSP具有Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。1.2.3 B/S本系统的实现采用了B/S机构,B/S机构即浏览器和服务器结构。B/S三层架构模式包括表现层(页面部分,主要负责显示数据)、业务逻辑层(处理页面传来的数据请求)、数据访问层 (根据业务逻辑层的请求,访问数据库,对数据进行增删改查,并将操作结果返回给业务逻辑层)。从严格意义上,B/S属于特殊的C/S模式,采用C/S模式,需要下载特定的客户端。而在B/S机构下,管理员和用户通过WWW浏览器访问该系统,在浏览器界面可直接操作该系统,实现所需功能。B/S模式的最大好处就是运行维护比较简单,能实现不同的人员,从不同的地点,以不同的接入方式访问和操作共同的数据2。2.系统需求分析与可行性研究2.1 需求分析该系统是建立一个基于B/S模式的绘本借阅管理系统,系统的建立与使用能够避免由人工管理带来的检索速度慢,效率低,借阅归还图书量大,图书统计工作量大等问题3。系统的研究方面主要是性能和功能方面。因为所有用户都是通过网络访问该系统,数据处理频繁且实时性要求增高,所以实时性是主要的性能目标。功能方面主要是实现不同用户的登录,实现不同的功能。其中主要的用户是管理员和学生,管理员的主要功能有绘本管理(增,删,改,查询)、用户管理(增,删,改,查询)、公告管理(增,删,查询)、绘本借阅、绘本归还和个人信息修改等功能。用户的主要功能有绘本查询、个人借阅信息查询、个人归还信息查询、公告信息查询、绘本续借和个人信息修改等功能。系统实现的重点主要包括性能方面和功能方面。性能方面实现的重点包括高要求的实时性。功能方面实现的重点包括:(1)绘本租赁管理系统最终的体验者虽然是儿童,但是真正用户是家长,所以儿童和家长的身份都需要进行人工验证,用户名一律使用学堂分配给儿童的用户名。(2)由于绘本是以图画为主,文字为辅的方式展现,绘本画面是儿童和家长选择绘本的关键之一,所以绘本信息需要封面图片展示,需要将图片上传至服务器。2.2 设计要求系统主要分为两个用户角色,分别是普通用户,管理人员。两个用户拥有不同的权限。每个权限拥有不同的功能,如下图2-1:图2-1 功能概述情况传统的绘本租赁是采用人工方式管理,这种管理方式存在很大的弊端,不利于信息查询和处理4。本系统遵循瑞德学堂和家长的实际需求,做出了具体的分析,列出了本系统应该要完成的各模块的工作流程。(1)管理员的主要业务流程绘本管理主要实现的功能是绘本信息查询,绘本新增,绘本删除和绘本信息修改。绘本管理业务流程如表2-1所示。表2-1 绘本管理过程情况主过程描述异常过程描述1.进入管理系统,判断其身份。2. 根据身份,显示不同的绘本信息浏览界面,可输入条件搜索绘本。3. 管理员点击新增绘本按钮,跳入新增页面。4. 管理员进入某一绘本信息界面,点击删除或修改按钮。1. 用户不存在或密码输入错误,报错。2. 新增的绘本信息校验失败,不允许添加。3. 修改的绘本信息校验失败,不允许修改。用户管理主要实现的功能是用户信息查询,用户新增,用户删除和用户信息修改。用户管理业务流程如表2-2所示。表2-2 用户管理过程情况主过程描述异常过程描述1.进入管理系统,判断其身份。2.管理员点击用户管理,跳入用户信息浏览页面,在该页面可对用户进行条件查询。3.选中新增用户按钮,进行用户新增操作。4.选中用户a信息,点击修改按钮,进入修改界面。5.选中用户a信息,点击删除按钮,进行删除操作。1.用户不存在或密码输入错误,报错。2.新增的用户信息校验失败,报错。3.修改的用户信息校验失败,报错。绘本借阅功能设定每位用户的最大借书量为5本,借阅时间为30天。在借阅绘本时,需要输入绘本条形码和用户名,系统首先判断用户和绘本条形码是否存在。绘本借阅业务流程过程如表2-3所示。表2-3 绘本借阅过程情况主过程描述异常过程描述1.管理员进入系统,点击绘本借阅界面,输入用户名和绘本条形码。1.用户名不存在,报错; 该用户已借阅了5本绘本,报错; 绘本不存在,报错; 绘本不在馆,报错。绘本归还功能设定借阅时间超过30天时,则返回相应的信息给管理员。绘本归还的业务流程如表2-4所示。表2-4 绘本归还过程情况主过程描述异常过程描述1.管理员进入系统,点击绘本归还界面,输入绘本条形码。1.绘本条形码不存在,报错; 绘本在馆,报错; 超过归还期限时间,提示。(2)用户主要业务流程用户个人信息修改功能主要实现用户对个人密码和联系电话的设定。用户个人信息修改业务流程如表2-5所示。表2-5 个人信息修改过程情况主过程描述异常过程描述1. 用户进入系统,点击个人中心,查看个人信息。2. 修改联系电话3. 修改密码1.密码修改失败,报错。绘本续借功能主要实现用户对绘本的续借操作,其中已过期的绘本不允许续借。绘本续借业务流程如表2-6所示。表2-6 绘本续借过程情况主过程描述异常过程描述1.用户进入系统,点击借阅信息,查看个人借阅信息。2.选中借阅信息,点击续借按钮。1.绘本已过期,报错。2.3 可行性分析2.3.1 技术可行性技术可行性主要分析所选的开发工具和相关技术是否能够合作融洽,是否能够满足开发整个系统所具备的所有需求。开发工具主要是用Eclipse作为前台开发工具,SQL Server2008作为后台数据处理平台,tomcat6.0作为服务器。起初Eclipse是为了Java语言开发所设计的,所以能够很好的配合JDK使用。在SQL Server2008平台上可直接对数据库进行操作,不需要下载其他可视化软件。同时该数据库作为主流的数据库之一,性能和功能方面都是毋庸置疑的,它能够处理大量数据,同时能够保持数据的完整性、安全性。Tomcat服务器作为主流的web服务器之一,能够很好的与Eclipse,SQL Server2008融洽使用5。同时大学课程设计都是选用Eclipse和SQL Server2008平台进行开发,所以对于这两个平台比较熟悉,使用起来更加熟练。相关技术语言主要是Java,JSP,JS,HTML和CSS等,这些都是开发Java Web项目常用的语言,所以投入到普通的软件和浏览器都能够正常使用。Eclipse平台完全可以解析这些语言,普通的浏览器也能根据网页中的语言进行动态跳转或静态的展示。同时由于这些语言很常见,老师,同学都能够熟练使用这些语言,所以遇见的问题都能够解决。2.3.2 经济可行性系统实现的硬性条件是一台普通的计算机,软件条件是windows7系统和相关开发软件,这些都是开发项目中必备的软硬件条件,所以开发成本比较低6。用户只需要一台电脑就可以访问页面,完成相应的功能。同时由于瑞德学堂的使用人群并没有达到比较大的数目,性能要求并没有很高,所以维护比较简单,维护费用也会降低。瑞德学堂绘本租赁管理系统的用户主要是学堂的管理员和学生,并不算是完全的商业产品,属于半教育产品。该系统设计与实现的目的是为了儿童阅读更多的绘本,避免绘本看一次就丢弃而造成的资源浪费现象,同时能够加强同班同学的绘本交流心得,渐而加深儿童之间的感情。同时使得学堂的管理员脱离繁重的人工管理中,也给家长带来很大的方便。享受科技带来的方便的同时,学堂和家长可以有更多的时间去专注儿童的成长,所以该系统的的教育用途大于商业用途7。3.系统设计3.1 系统总体结构本系统的主要目标是展示友好的界面,用户能够简单的操作;实现不同的用户登录,展示不同的操作界面;实现对绘本、用户、公告等信息的操作等8。根据瑞德绘本租赁管理系统的工作运行和实际运行,主要实现的功能分别是绘本管理,用户管理,公告管理,借阅管理,归还管理,个人信息管理等,通过各种操作对信息进行管理。系统整体的数据流图如图3-1所示。图3-1 系统数据流程图该系统的权限划分成管理员和普通用户,不同权限的用户登录后实现不同的操作。管理员主要功能有绘本管理(增,删,改,查询)、用户管理(增,删,改,查询)、公告管理(增,删,查询)、绘本借阅、绘本归还和个人信息修改等功能。用户主要功能有绘本查询、个人借阅信息查询、个人归还信息查询、公告信息查询、绘本续借和个人信息修改等功能。总体功能图请见第2章节图2-1所示。3.2 功能模块设计该系统的整体模块分为前台和后台的模块设计,也就是管理员和用户登入后实现不同的功能,下面详细介绍每个模块下,具体功能的实现。3.2.1 用户模块(1)用户模块说明主要的实现是普通用户所能完成的所有功能,也就是普通用户登录后,展示的界面操作。这些功能操作主要包括绘本信息查询(可根据绘本ID,绘本名称,绘本简介以及绘本分类查询)、借阅信息查询和归还信息查询、绘本续借、个人信息修改(可修改个人密码和联系电话)。下面详细介绍绘本信息查询、借阅信息查询、绘本续借、个人信息修改功能流程。(2)绘本信息查询功能绘本信息查询是整个系统最基本的功能,有很多功能都是基于绘本信息查询功能实现的,比如绘本修改,删除和修改,绘本的借阅等。用户可以根据绘本分类,绘本ID,绘本名称和绘本简介等条件进行查询。结合实际,根据绘本分类条件查询的用户居多,所以绘本分类查询是完全匹配查询。而对于绘本ID,绘本名称和绘本简介三个条件采用同一个文本框输入,后台自动根据输入值去相似匹配,只要满足一个条件的绘本即可被搜索出。绘本信息查询功能图如图3-3所示。图3-3 绘本信息流程图(3)借阅和归还信息查询功能普通用户登录系统后,可以查询未归还的绘本信息,包括绘本编号,绘本条形码,借阅时间,预计归还时间等信息。这个功能可以让用户查看自己借阅信息,准确了解绘本的归还时间,避免绘本租借过期。同样普通用户登录系统后,可以查询该用户归还的所有绘本信息,包括绘本编号,借阅时间,归还时间等信息。个人借阅信息查询流程图如图3-4所示。图3-4 个人借阅信息流程图(4)绘本续借功能绘本续借功能主要是对普通用户设计的功能,这个功能的实现可以减少普通用户抽空去学堂续借绘本次数。普通用户通过查看自己的借阅信息,很清楚的了解到哪本绘本快到期,如果仍想继续阅读,就可以续借。但是续借的绘本的并没有过期,否则只能必须归还图书之后,才能再次借阅该绘本。绘本续借功能的功能流程图如图3-5。图3-5 绘本续借流程图(5)个人信息修改普通用户进入系统后可查看个人信息,由于用户的联系电话会更改,所以个人信息提供更改联系电话的功能。同时考虑到用户账号的安全性,用户可修改密码。修改密码时,必须输入原始密码,只用在原始密码输入正确,才能正确修改。个人信息修改功能流程图如图3-6。图3-6 个人信息修改流程图3.2.2 管理员模块 (1)管理员模块说明管理员模块主要的实现是管理员完成的所有功能,也就是管理员登录后,展示的界面操作。这些功能操作主要包括绘本管理(包括绘本新增,绘本删除,绘本修改)、用户管理(包括用户新增,用户删除,用户修改),公告管理(包括公告新增,公告删除),借阅绘本功能和归还绘本功能、个人信息修改(可修改个人密码和联系电话)。下面详细介绍绘本管理、用户管理、归还和借阅绘本功能。(2)用户管理功能用户管理功能主要包括对用户增加,删除,修改和查询。增加用户时,用户的信息都是必填项,同时输入的用户ID必须不存在数据库的用户表中,否则添加失败。用户新增时,后台自动将用户的最大借书量设置为5本,这样用户借阅绘本时,最多只能借阅5本。用户修改不允许修改用户ID,其他字段可以按照各自的标准去修改。用户新增流程图如图3-7所示。图3-7 用户新增流程图用户删除时,会删除用户的所有信息,包括用户的借阅信息和归还信息。用户查询的条件主要包括用户ID,用户名称,用户性别,入学年份。用户删除功能流程如图3-8所示。图3-8 用户删除流程图(3)绘本管理功能绘本管理功能主要包括对绘本增加,删除,修改和查询。增加绘本时,绘本信息否都是必填项,输入的绘本ID必须不存在数据库的用户表中,上传的绘本封面格式必须是JPG和JPEG格式,否则添加失败。用户修改不允许修改绘本的ID,其他字段可以按照各自的标准去修改。绘本删除时,会提示“该绘本会有借阅信息,确定删除”,如果管理员确认删除,则删除绘本信息,并且删除与绘本有关的所有借阅信息和归还信息,删除关联在该绘本下的所有他绘本条形码信息。新增绘本后,可以为绘本添加不同的条形码。条形码的添加和删除的流程与绘本添加和删除流程是一样的,新增时需要判断条形码是否一致,删除时,需要提示可能存在借阅信息,如果确认删除,则删除关联该条形码的所有借阅信息。绘本新增功能流程图如图3-9所示。图3-9 绘本新增流程图(4)绘本借阅与归还功能绘本借阅时,必须输入用户ID,绘本条形码。点击借阅时,判断用户是否存在,之后判断绘本条形码是否存在。如果用户ID和绘本条形码都存在,则判断用户的借阅书本是否已经达到5本,如果已经达到5本,借阅失败。如果借阅量没有达到5本,后台获取当前时间,并自动加上30天,分别写入数据库的借阅时间和预期归还时间两个字段,同时该条形码的状态更改为不在馆。绘本借阅流程如图3-10所示。图3-10 绘本借阅流程图绘本归还时,只需输入借阅的绘本条形码,判断条形码存在后,将改借阅信息写入归还信息表中,绘本条形码的状态更改为在馆。同时后台获取当前时间与预期归还时间进行比较,判断是否过期,如果过期则提示管理员相应的信息。绘本归还流程如图3-11所示。图3-11 绘本归还流程图3.3 数据库设计3.3.1 E-R图设计充分考虑的数据库设计是完成一个系统的重要因素,数据库就像是一个系统的基底,如果基底建造的不牢固,不仅系统的部分功能无法实现,而且功能之间的接口也无法实现9。结合瑞德学堂绘本租赁管理系统的实际需求,共设计了7个实体,主要是用户,管理员,绘本,公告,主分类,子分类,绘本条形码,下面主要介绍实体及其属性图和实体及其联系图。图3-12 管理员实体图3-13 用户实体图3-14 绘本实体图3-15 主分类实体图3-16 子分类实体图3-17 绘本条形码实体图3-18 公告实体图3-19 实体联系图3.3.2 数据库表设计在关系数据库系统中,数据库的逻辑设计就是根据概念模型设计的E-R图10。根据上述E-R图,得到该系统各个实体的关系模式,下面对关系模式的具体字段信息详细描述。(1)users(用户表)表3-1 用户表useridvarchar(10)主键用户IDpasswordncahr(8)限定8位字符密码studentnamenchar(20)Not null学生姓名parentnamenchar(20)Not null家长姓名sexnchar(2)男或女性别classnchar(10)Not null班级schoolyearvarchar(4)Not null入学年份addressnchar(100)Not null家庭地址telphonenchar(11)11位数字电话birthdayvarchar(10)varchar出生日期borrowmaxintNot null最大借书量(2)manager(管理员表)表3-2 管理员表manageridnchar(10)主键管理员IDmanagernamevarchar(50)Not null管理员姓名passwordnchar(8)限定8位字符密码sexvarchar(2)男或女性别telphonenchar(11)11位数字号码addressvarchar(100)Not null地址birthdayvarchar(10)varchar型出生日期identityvarchar(20)管理员或超级管理员身份(3)books(绘本信息表)表3-3 绘本信息表bookidvarchar(10)主键绘本IDbooknamevarchar(50)Not null书名bookauthervarchar(50)Not null作者publishervarchar(50)Not null出版商publishdatevarchar(10)Varcharx型出版时间createdatevarchar(10)Varchar型上架时间bookabstractvarchar(500)Not null简介srcvarchar(200)Not null图片地址smallpathvarchar(200)Not null生成小图片地址(4)parentclass(主分类表)表3-4 主分类表parentclassidnchar(10)主键主分类IDparentclassnamenchar(20)Not null主分类名称(5)childclass(子分类表)表3-5 子分类表childclassidnchar(10)主键分类IDchildclassnamenchar(20)Not null子分类名称parentclassidnchar(10)Not null主分类ID(6)barcodebook(绘本条形码表)表3-6 绘本条形码表barcodevarchar(10)主键绘本条形码bookidvarchar(10)Not null绘本IDbookstatevarcahr(2)Not null绘本状态(7)childclass_book_map(绘本分类表)表3-7 绘本分类表bookidnchar(10)Not null绘本IDchildclassnchar(10)Not null子分类ID(8)borrow(借阅表)表3-8 借阅表barcodevarchar(10)外键绘本IDuseridvarchar(10)外键用户IDborrowtimevarchar(10)Datetime型借阅时间limitetimevarchar(10)Datetime型限期时间(9)return(归还表)表3-9 归还表bookidvarchar(10)外键绘本IDuseridvarchar(10)外键用户IDborrowtimevarchar(10)Datetime型借阅时间returntimevarchar(10)Datetime型归还时间(10)notice(公告表)表3-10 公告表noticeidnchar(10)主键公告IDtitlenchar(50)Not null公告主题noticecontentncahr(500)Not null公告内容manageridnchar(10)外键管理员ID(公告人)releasetimedatetimeDatetime型公告时间4.系统详细设计4.1 数据库连接系统实现之前,首先确保Eclipse与SQL Server、tomcat服务器是否连接,java应用程序与数据库的连接都是通过JDBC来完成的,现在主流的数据库基本上都支持JDBC连接11。本系统采用了SQL Server2008数据库,首先需要加载sqljdbc4驱动,并且获取该数据库的服务器地址,数据库用户名与密码以及数据库名。部分数据库连接代码如下:public class DBconnect .String driverName=com.microsoft.sqlserver.jdbc.SQLServerDriver; String dbURL=jdbc:sqlserver:/localhost:1433;DatabaseName=BMS; public Connection getConnection().Class.forName(driverName); conn=DriverManager.getConnection(dbURL,sa,123); .public void close(). 4.2 用户登录普通用户和管理员的共用一个登陆界面,选择不同身份,填入正确的用户名和密码即可登入相应的首页。根据实际需求,使用selected标签默认身份是家长,如图4-1所示。图4-1 用户登录界面用户点击登录后,通过form表单method=post action=servlet/LoginServlet方法进入LoginServlet中的login()函数。该函数中获取变量identity,该变量代表用户的身份,根据身份分别调用userlogin()和managerlogin()。在验证用户名和密码时,设置flag变量,通过flag变量设置不同的登录结果,比如用户名不存在,密码错误等情况。下面是管理员身份登录后,进行用户名和密码验证的部分代码:public int managerlogin(ManagerModel manager).String sql = select * from manager ; ResultSet rs = dbconn.executeQuery(sql); int flag = 0; . if(rs.getString(1).equals(manager.managerid) /验证用户是否存在 flag=1; if( rs.getString(2).equals(manager.pwd) /验证密码是否正确 flag=2; .4.3 管理员模块4.3.1 绘本管理(1)绘本查询管理员的首页默认是绘本信息界面。在该界面中,通过点击左下角的子分类名称(childclass)或者输入搜索条件(keyword),即可查询相应的绘本信息,如图4-2所示。图4-2 绘本查询界面在加载页面时,通过request.getParameter()判断条件是否为空的方法,如果childclass和keyword为空,则显示所有的绘本信息。此功能实现的部分代码如下所示:if(request.getParameter(childclass)!=null).Booksql = select * from books where bookid in(select bookid from books_childclass_map where childclassid in (select childclassid from childclass where childclassname=+childclass+); else if(request.getParameter(keyword)!=null).Booksql = select * from books where bookid like %+keyword+% or bookname like %+keyword+% or bookauthor like %+keyword+% or bookabstract like %+keyword+%;else Booksql = select * from books; (2)绘本新增在绘本信息界面,点击绘本新增按钮进入绘本新增页面,如图4-3所示。图4-3 绘本新增界面为了保证绘本信息的完整性,绘本设置不允许为空。form表单提交时,调用了addbookJS函数验证,若返回值为false,输出相应的提示。绘本封面上传限制的格式为JPG或JPEG,addbookJS函数通过filename.toLowerCase().substr(filename.lastIndexOf(.)方法获取图片的格式,并加以判断。如果输入无误,则判断绘本编号是否存在,若不存在,则新增绘本,并将图片上传至服务器。部分实现代码如下所示:function addbookJS() var mime = filename.toLowerCase().substr(filename.lastIndexOf(.); if(bookid.value.trim()=)alert(绘本编号不能为空!); .else if(!Datecheck(bookpublishdate.value.trim()alert(请按照YYYY-MM-DD格式输入正确的日期!);. .else if(mime!=.jpg & mime !=.jpeg) alert(请选择jpg或jpeg格式的照片上传!); . else return true;(3)绘本修改绘本信息页面中,所有图片加上了href标签,通过点击图片,即可进入该绘本的具体信息界面,如图4-3所示。图4-3 绘本修改界面加载该页面时,获取LoginServlet.identity变量值,根据用户身份,显示不同的页面。比如普通用户登入后,则不显示绘本删除和修改按钮,主要利用document.getElementById().disabled方法实现对按钮的隐藏。管理员在该界面可以实现绘本的修改,管理员在该界面输入新的信息,并点击提交,后台判断字段是否被更正,如果与原始的字段数据不一致,则修改。绘本修改功能实现部分代码如下:String idbooksql = select * from books where bookid=+bookmodel.bookid+;ResultSet idbookrs = dbconn.executeQuery(idbooksql); . while(idbookrs.next() bookmodel_sql.bookname = idbookrs.getString(bookname).trim(); . if(!bookmodel.bookname.equals(bookmodel_sql.bookname) String updatenamesql = update books set bookname=+bookmodel.bookname+ where bookid=+bookmodel.bookid+; dbconn.executeUpdate(updatenamesql); (4)绘本删除管理员进入绘本详细信息界面,可点击绘本删除按钮,即可删除绘本信息,界面如图4-3所示。点击删除按钮,deletebook函数通过获取bookid变量得到绘本编号,如果绘本存在借阅信息,则将归还信息表里有关该绘本的所有信息删除。部分实现代码如下:public BookModel deletebook (BookModel bookmodel) . String deletereturnsql = delete from returnbook where bookid=+bookmodel.bookid+; dbconn.executeUpdate(deletereturnsql); . String deletebarbooksql = delete from barcodebook where bookid=+bookmodel.bookid+; dbconn.executeUpdate(deletebarbooksql); String deletebooksql = delete from books where bookid=+bookmodel.bookid+ ; dbconn.executeUpdate(deletebooksql); . 4.3.2 用户管理(1)用户查询该界面可以显示所有用户的信息,管理员可以在该界面点击用户新增,删除,查询和删除按钮实现不同的操作,如图4-4所示。该界面提供用户ID,用户名,性别,入学年份条件查询。在加载页面时,通过request.getParameter()判断条件是否为空,如果keyword为空,则显示所有的用户信息,否则根据条件显示。具体实现代码参考4.3.1章节中的绘本查询。图4-4 用户信息查询界面(2)用户新增管理员在用户信息页面点击用户新增按钮,即可跳转到该界面,如图4-5所示。填写必要的信息,点击提交,通过form表单的action方法提交数据,adduser函数通过request.getParameter()方法获取参数值。若提交成功,则跳到用户信息界面。若新增失败,则跳转到错误提示界面。具体代码实现参照4.3.1章节中的绘本新增。图4-5 用户新增页面(3)用户修改管理员在用户信息页面点击修改按钮,即可跳转到该页面,如图4-6所示。修改信息后,点击提交,若提交成功,则会跳转到用户信息页面。若修改失败,则跳转到错误提示页面。用户的用户名字段不允许修改,可修改其他字段。功能实现代码参照4.3.1章节的绘本修改。图4-6 用户修改界面(4)用户删除管理员进入用户信息界面,可点击删除按钮,即可删除用户信息,如图4-4所示。点击删除按钮,deleteuser函数通过获取userid变量得到用户编号,如果用户存在借阅信息,则将借阅和归还信息表里有关该用户的所有信息删除。部分实现代码参照4.3.1章节中的绘本删除。4.3.3 公告管理(1)公告查询在首页的公告栏中点击更多按钮,则跳转到公告信息界面,如图4-7所示。这个界面显示出所有的公告的信息。通过点击界面的公告title,则可跳转到该公告的具体信息界面。功能代码实现参照4.3.1章节中的绘本查询代码实现。图4-7 公告信息界面(2)公告新增在公告首页点击发布公告,进入公告新增界面,输入公告ID,公告标题,公告内容,如图4-8所示。通过form表单提交,action=addnotice.NoticeServlet方法调用addnotice函数。公告发布时间是java后台根据getTime()函数自动获取,同时根据获取当前的LoginServlet.loginname变量,将其管理员设置成该公告的发布人。功能具体实现的代码参照4.3.1章节中的绘本新增功能代码。图4-8 公告新增界面(3)公告删除在公告信息界面点击某一条公告信息,进入该公告的具体信息界面,点击删除按钮,即可删除该公告信息。此功能的代码实现参照4.3.1章节中的绘本删除功能代码。4.3.4 绘本借阅管理员在首页点击绘本借阅,即可进入该界面,借阅界面如图4-9所示。图4-9 绘本借阅界面在该界面输入用户ID和绘本条形码,点击提交即可若借阅成功,则跳转借阅信息表,显示该借阅记录。若失败,则跳转到错误提示界面。绘本借阅首先会判断用户名userid和绘本条形码barcode是否存在,再次判断该用户的借书量borrowmax是否已超出5本,如果超出5本,则不允许借阅。此功能具体实现的部分代码如下所示:public int borrowbook(Bor_Ret_BookModel bor_bookmodel) . String barcodebooksql = select * from barcodebook where

温馨提示

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

评论

0/150

提交评论