- 323.50 KB
- 2022-04-22 13:41:40 发布
- 1、本文档共5页,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
- 文档侵权举报电话:19940600175。
'JAVA语言图书馆管理系统毕业论文目录第一章图书馆管理系统综述第一节图书馆管理系统背景1第二节课题研究意义1第二章图书馆管理系统需求分析第一节图书馆管理系统应用需求2第二节图书馆管理系统设计模式3第三节开发环境及开发工具5第三章图书馆管理系统总体设计第一节子系统划分及系统模块设计8第二节系统流程图9第三节数据库的设计10第四章图书馆管理系统详细设计及处理技术第一节发布首页功能模块15第二节留言板功能模块19第三节系统管理员的登录功能模块27第四节图书查询功能模块32第五节其余功能模块35第五章图书馆管理系统系统测试41第六章总结(42)参考文献(42)致谢(43)
第一章图书馆管理系统综述第一节图书馆管理系统背景当今时代是飞速发展的信息时代,计算机与信息处理技术日渐成熟。随着Internet和计算机网络技术的蓬勃发展,Web技术得到了迅猛地发展。在科学技术高速发展的今天,信息技术已经渗透到社会发展的每一个领域,而计算机技术为工作提供了方便性、高效性、灵活性及安全性,尤其Web技术的高速发展将计算机的应用提升到另一个层次。而图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,利用计算机来管理复杂的信息,能够充分发挥计算机的优越性。书籍是人类不可缺少的精神食粮,尤其重要。所以图书馆借阅信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理图书、期刊、试卷合订本等查询信息,这种查询管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识。作为计算机应用的一部分,使用计算机对图书资源信息进行查询管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高图书查询管理的效率,也是企业、学校的科学化、正规化管理,与世界接轨的重要条件。选用JAVA语言进行编程。更是1次编译,处处运行。系统分为前后台2部分,前台主要实现了以下几个功能:查询图书,读者留言、查看公告栏等。后台以管理员方式登录实现以下几个功能:借还图书、图书管理、读者信息管理,公告栏消息发布等。读者只需要通过浏览器访问本系统,就可以轻松实现图书查询、留言等操作。同样,图书管理员也可以使用本系统方便快捷地完成图书馆的信息数据管理工作。第二节课题研究意义尽管目前很多图书馆有图书管理系统,但是仅仅限于图书管理员使用,属于单机系统,对于Internet服务几乎没有,这样的图书管理系统根本没有发挥它的效力,资源闲置比较突出。基于这此问题,有必要建立一个图书管理系统有效的支持WEB45
的服务,以使图书管理工作规范化,系统化,程序化,提高信息处理的速度和准确性,并且能通过Internet能够及时、准确修改图书情况。本系统的设计主要有效的支持WEB访问使得资源利用最大化用户只需要通过浏览器就可以查阅到库中的图书,以及图书馆近期发布的最新消息,还可以留言。我们系统总体上分为前台页面显示和后台管理。前台页面(即本书图书管理系统的首页)实现了公告的显示图书查询,留言建议三大功能。而后台的页面则集成了图书管理中所需的功能和录入新书到库,办公图书,借还手续,查询图书等等。平时图书管理人员的工作都是在后台中完成的。前台是为了师生显示的。师生们可以看到图书管理人员发布的最新公告信息;并可以查询自己感兴趣的图书,也可以给学校的图书管理人员留言提议。相对应的后台是针对学校图书管理人员,后台的页面都加密,如果不正常登录是进入不了后台管理页面的,后台功能具体包括:发布首页公告,添加新书到库等等第二章图书馆管理系统需求分析第一节图书馆管理系统应用需求一个现代化的图书馆在正常运营中总是面对大量的读者信息,书籍信息以及两者相互作用产生的借书信息,还书信息。面对图书馆数以万几计的图书,纷繁复杂的读者信息,频繁更替的借还书信息,传统的直接方法不但管理出现漏洞,造成损失。因此有一个智能化、系统化、信息化的图书管理系统十分重要的。充分利用计算机的功能实现对读者管理、书籍管理,借阅管理等自动化控制,将会使图书馆的工作大大减弱。方便友好的图形界面、简便的操作、完善的数据库管理。将会使得图书馆系统极大限度的应用于现代化图书管理中。图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境。图书馆管理系统需要满足来自两方面的需求,分别是图书借阅者和图书馆工作人员。图书借阅者的需求是查询图书馆所存的各种图书信息45
;图书馆工作人员对图书借阅者的借阅及还书要求进行操作,同时形成借书或还书操作,有修改图书借阅者借书和还书记录的权限,实现对图书信息、借阅者信息、总体借阅情况信息的管理和统计、工作人员和管理人员信息查看及维护。图书馆管理员可以浏览、查询、添加、删除、修改、统计图书的基本信息;浏览、查询、统计、添加、删除和修改图书借阅者的基本信息,浏览、查询、统计图书馆的借阅信息,发布公告,回复留言,以下就是本系统实现的功能。1.设计不同用户的操作权限和登陆方法2.对所有用户开放的图书查询3.查询及统计各种信息4.维护图书信息5.维护工作人员和管理员信息6.维护借阅者信息7.处理信息的完整性第二节图书馆管理系统设计模式设计模式是面向对象的程序设计人员用来解决编程问题的一种形式化表示。本系统开发采用目前一种目前广泛流行的软件设计模式MVC。MVC(Model-View-Controller)应用程序结构被用来分析分布式应用程序的特征。这种抽象结构能有助于将应用程序分割成若干逻辑部件,使程序设计变得更加容易。把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层——模型层、视图层、控制层,它们各自处理自己的任务。视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括AdobeFlash和象XHTML,XML/XSL,WML等一些标识语言和Webservices.如何处理应用程序的界面变得越来越有挑战性。MVC一个大的好处是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用象EJBs和ColdFusion45
Components这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器(例如:servlet)本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后确定用哪个视图来显示模型处理返回的数据。现在我们总结MVC的处理过程,首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。这种设计模式的好处是:◆低耦合性。视图层和业务层分离,这样就允许更改视图层代码而不用重新编译模型和控制器代码,同样,一个应用的业务流程或者业务规则的改变只需要改动MVC的模型层即可。因为模型与控制器和视图相分离,所以很容易改变应用程序的数据层和业务规则。◆高重用性和可适用性。随着技术的不断进步,现在需要用越来越多的方式来访问应用程序。MVC模式允许你使用各种不同样式的视图来访问同一个服务器端的代码。它包括任何WEB(HTTP)浏览器或者无线浏览器(wap),比如,用户可以通过电脑也可通过手机来订购某样产品,虽然订购的方式不一样,但处理订购产品的方式是一样的。由于模型返回的数据没有进行格式化,所以同样的构件能被不同的界面使用。例如,很多数据可能用HTML来表示,但是也有可能用WAP来表示,而这些表示所需要的仅令是改变视图层的实现方式,而控制层和模型层无需做任何改变。 ◆较低的生命周期成本。MVC使降低开发和维护用户接口的技术含量成为可能。 ◆快速的部署。使用MVC模式使开发时间得到相当大的缩减,它使程序员(Java开发人员)集中精力于业务逻辑,界面程序员(HTML和JSP开发人员)集中精力于表现形式上。 ◆可维护性。分离视图层和业务逻辑层也使得WEB应用更易于维护和修改。 ◆有利于软件工程化管理。由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化管理程序代码。45
图1MVC模式MVC模式的出现,很好的解决了传统开发WEB应用方式中存在的问题。M代表模型(Model),包含完成任务所需要的所有的行为和数据;V代表视图(View)界面,显示模型提供的数据;C代表控制器(Controller),它将模型映射到界面中,处理用户的输入并响应请求。其模型关系如图所示。在MVC模式中,三层各尽其职、相对独立,各层内部的改变不会影响到其它层,从而降低了数据表达、数据描述和应用操作的耦合度,也能更好的实现开发中的分工,加快工程进度。开发环境及开发工具表1开发环境种别软件版本OSWindowsXpDBSqlsever2000WebServerJDK1.6.0.10Tomcat6.0浏览器InternetExplorer6.0及以上语言编辑MyEclipse6.0及以上45
SQLServerSQLServer是一个关系数据库管理系统。SQLServer2000是Microsoft公司推出的SQLServer数据库管理系统的最新版本。该版本继承了SQLServer7.0版本的优点,同时又比它增加了许多更先进的功能:具有使用方便、可伸缩性好与相关软件集成程度高等优点。可跨越从运行MicrosoftWindows98的膝上型电脑到运行MicrosoftWindows2000的大型多处理器的服务器等多种平台使用。TOMCAT:Tomcat服务器是ApacheGroupJakarta小组开发的一个免费服务器软件,适合于嵌入Apache中使用,而且,它的源代码可以免费获得,你可以自由地对它进行扩充。Tomcat服务器的兼容性很好,如WebLogic服务器采用其为Web服务器引擎,Jbuilder将其作为标准的测试服务器,Sun公司也将其作为JSP技术应用的示例服务器。但是Tomcat服务器有众多大软件公司的支持,而且服务器的性能稳定,其发展前景很好。Tomcat很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应对HTML页面的访问请求。实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的。这里的诀窍是,当配置正确时,Apache为HTML页面服务,而Tomcat实际上运行JSP页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。ECLIPSEEclipse是一个非常优秀的集成开发环境,它旨在简化用于多操作系统软件工具的开发过程,可以用于管理多种开发任务,其中包括测试、性能调整以及程序调试等,而且还可以集成来自多个供应商的第三方应用程序开发工具。通过集成大量的插件,Eclipse的功能可以不断扩展,以支持各种不同的应用。Eclipse平台是一个成熟的、精心设计的、可扩展的体系结构,其组成结构如图所示用Eclipse开发的插件,可以适应多平台的需要,且具有良好的可扩展性和灵活性。Eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse45
附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentTools,JDT)。虽然大多数用户很乐于将Eclipse当作JavaIDE来使用,但Eclipse的目标不仅限于此。Eclipse还包括插件开发环境(Plug-inDevelopmentEnvironment,PDE),这个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与Eclipse环境无缝集成的工具。由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。环境配置说明JDK的配置:1.安装JDK1.5以上版本,并且复制安装路径。2.右键我的电脑-属性-高级-环境变量-新建Administrator系统变量。变量值为安装路径建立3个值:JAVA_HOME=你的安装路径classpath=.;%JAVA_HOME%libdt.jar;%JAVA_HOME%libtools.jarPATH=C:ProgramFilesJavajdk1.6.0_10bin也就是路径bin3.测试下jdk的安装环境是否成功:开始-运行-cmd-弹出dos对话框,在光标处输入javac–version,出现版本号则配置成功。Tomcat的配置:1。安装Tomcat后,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的tomcat安装在c:tomcat):CATALINA_HOME:c:tomcatCATALINA_BASE:c:tomcatTOMCAT_HOME:c:tomcat2然后修改环境变量中的classpath,把tomat安装目录下的commonlib下的servlet.jar追加到classpath中去,修改后的classpath如下:classpath=C:ProgramFilesJavajdk1.6.0_10libdt.jar;C:ProgramFilesJavajdk1.6.0_10libtools.jar;c:tomcatcommonlibservlet-api.jar;6可能最新版本的Tomcat中没有common这个文件夹了。所以servlet-api.jar应该的路径为c:tomcatlibservlet-api.jar;根据情况修改!7.验证,启动tomcat,在IE中访问http://localhost:8080,如果看到tomcat的欢迎页面的话说明安装成功了。45
第三章图书馆管理系统总体设计第一节子系统划分及系统模块设计本图书管理系统总体上分为前台页面显示和后台管理。前台页面(即本书图书管理系统的首页)实现了公告的显示图书查询,留言建议三大功能。而后台的页面则集成了图书管理中所需的功能和录入新书到库,办公图书,借还手续,查询图书等等。平时图书管理人员的工作都是在后台中完成的。前台是为了师生显示的。师生们可以看到图书管理人员发布的最新公告信息;并可以查询自己感兴趣的图书,也可以给学校的图书管理人员留言提议。相对应的后台是针对学校图书管理人员,后台的页面都加密,如果不正常登录是进入不了后台管理页面的,后台功能具体包括:发布首页公告,添加新书到库等等。功能模块构成根据本管理系统的要求我们在功能上将这个图书馆管理系统划分成了7个功能模块:发布首页功能模块,留言板功能模块,系统管理员登陆功能模块,图书查询功能模块,借还手续功能模块,管理库中图书信息的功能模块,最后是用户信息管理功能模块。如下图所示。45
图2功能结构图有了这7个功能模块,就可以构建一个完整的图书馆管理系统了。前台实现的是:图书信息查询,以及留言建议。后台实现的是:以管理员身份进入后台后可以进行的权限操作有,用户信息的录入,图书信息的管理及录入,首页新建的发布,借还手续的操作等等。第二节系统流程图下图是分别从web和wap模式的查询流程图,请求以这种方式进行发送和响应。查询功能流程图WEB页面前台查询界面接收查询条件,从数据库查询匹配信息返回结果,在WEB页面显示提交查询条件图3基于WEB的查询流程图借还图书功能流程图下图是借还书发送请求和响应请求的流程图45
图4借还书流程图第三节数据库的设计考虑该系统的定位与现有技术力量,系统采用SQLSEVER作为系统的后台数据库开发环境,数据库命名标准与规范均采用英文单词标写,以便日后对其维护修改. 数据库管理系统的最新版本该版本继承了SQLServer7.0版本的优点同时又比它增加了许多更先进的功能具有使用方便可伸缩性好与相关软件集成程度高等优点可跨越从运行MicrosoftWindows98的膝上型电脑到运行MicrosoftWindows2000的大型多处理器的服务器等多种平台使用.数据库逻辑设计:表2所示为管理员表(admin),记录了系统用户的角色和密码,判断是否允许其登录后台管理员的界面。表2admin数据库列名数据类型长度id(PK)Int11UsernameVarchar20PasswordVarchar20表3所示为留言信息表(guestbook),45
记录了游客用户姓名,发表的留言信息,发表时间和管理员回复信息,其具体作用就是实现留言板的功能。表3guest数据库列名数据类型长度id(PK)Int11NicknameVarchar50ContentMediumtextNOYourtimeDatatimeNOReplyVarchar50表4所示为首页公告表(notice),记录了发布信息和发布时间,其作用就是支持公告栏的功能实现。表4notice数据库列名数据类型长度id(PK)Int11ContentMediumtextNOCreatetimeDatatimeNO表5所示为图书信息表(book),记录了图书书名,书号,图书类型,总量。其作用就是保存录入到库的图书资料,以便借阅和查询。表5book数据库列名数据类型长度IdInt11TitleVarchar100bookID(PK)Varchar40TypeVarchar40QuantityInt11表6所示为用户借阅图书信息表(borrowbook),记录了借阅证号,借书开始日期,结束日期,书号。实现本系统核心功能-借书,还书的数据库应用。45
表6borrowbook数据库列名数据类型长度Id(PK)Int11BorrowIDVarchar20BeginTimeDatetimeNOEndTimeDatetimeNOBookIDInt40表7所示为借书证用户信息表(user),记录了借书人姓名,性别,年龄,所在院系和所借书的书号。实现其程序主体的数据库调用。表7uesr数据库列名数据类型长度Id(PK)Int11NameVarchar20SexChar2AgeInt11DepartmentVarchar20BorrowIDVarchar20数据库之间的关联设计:这个图书管理系统是基于SQLSEVER设计的,然后通过在JSP中向数据库发送相应的SQL指令,从而实现对图书的全面管理..对于数据库设计这一流程中,最重要的一步是对user表、book表、borrowBook表三张表的设计以及它们之间的关系.这是这个图书管理系统中的一个关键技术,以下就是数据库关联图45
图5数据库关系第四章图书馆管理系统详细设计及处理技术JavaBean技术是一种基于Java的组件技术,JavaBean组件可以用来执行复杂的计算任务,或负责与数据库的交互以及数据的提取等,是解决代码重用问题的一种策略。为了创建和使用Java软件组件,JavaBean被实现为一种独立于平台和结构的应用程序接口,它的实现可以忽略内部的结构及细节问题,只需要定义其外部的特征及对外功能就行。其中,属性、方法和事件三种接口可以独立对外进行开发。JavaBean的实质就是一个.class文件,也可以成为类文件。JavaBean以binary格式保存,可以保护Java源代码不容易被他人抄袭。下面是本系统中主要的JavaBean。select函数功能:查询数据publicintselect(Stringsql){intk=-10;this.init(this.getConn());try{k=0;rs=stmt.executeQuery(sql);if(rs.next())45
{k=k+1;}}catch(Exceptione){k=-1;System.out.println("select():"+e.getMessage());this.close();}this.close();returnk;}update函数功能:更新删除插入数据publicintupdate(Stringsql){intk=-10;this.init(this.getConn());try{k=0;k=stmt.executeUpdate(sql);}catch(Exceptione){K=-1;System.out.println("update():"+e.getMessage());}this.close();returnk;}chStr函数功能:解决乱码Java的内核和class文件是基于unicode的,这使Java45
程序具有良好的跨平台性,但也带来了一些中文乱码问题的麻烦。原因主要有两方面,Java文件本身编译时产生的乱码问题和Java程序与其他媒介交互产生的乱码问题。JSP以Java为基础,自然也继承了Java所遇到的中文乱码问题。但在使用数据库时,有些Driver会将从数据库中读出的中文自动的转换成Unicode,而有些不会,如果Driver做过转换而系统又再做一次,就会出现问题,从数据库中读出的中文字符不会正确显示,而是出现“??”。而且,在表单提交或是URL传参数值时依然是按照Web容器在内部默认的字符编码格式ISO8859-1来进行处理的。同时,几乎所有的浏览器在传递参数时都是默认以UTF-8的方式来传递参数的。所以,虽然在java源文件在出入口的地方指定了正确的编码方式,但其在容器内部运行是还是以ISO8859-1来处理的,这样导致在提交的表单中若有中文字符,在存入数据库时使用的是ISO8859-1,而本系统使用的SQLSEVER数据库默认使用的是GBK编码,这样导致的结果就是存到数据库的数据因编码不同而出现乱码现象。调用字符编码转换Bean中的方法,对字符编码进行强制转换,使存放到数据库的数据编码格式与数据库的内部编码格式统一,解决了向数据库中插入中文字符、将从数据库中读取的数据正确的显示的问题,所以做了一个方法放在bean里面,代码如下publicStringchStr(Stringstr){try{byte[]temp=str.getBytes("ISO8859-1");Stringtemp2=newString(temp);returntemp2;}catch(Exceptione){System.out.println("chStr():"+e.getMessage());}return"null";}第一节发布首页功能模块45
图6首页发布功能界面在后台管理中能自由发布首页公告信息,来通知各种事情,其条目以滚动的形式来表现。该功能的实现由admin_addnotice.jsp和admin_addnotice_post.jsp文件实现。在admin_addnotice.jsp中主要是发布界面的编写和传输notice内容,本功能的核心程序放在admin_addnotice_post.jsp中,负责存储内容到数据库和错误提示。在admin_addnotice_post.jsp中关键代码如下://从request获取名为"content"的参数值Stringcontent=request.getParameter("content");//解决中文乱码问题Stringtcontent=addbook.chStr(content);//合成SQL语句,将content的值传入,作用为更新公告表Stringsql="updatenoticesetcontent=""+content+"",createtime=DEFAULTwhereid=1";//申明一个int的变量tempinttemp=-2;//如SQL执行成功,temp>0,否则执行失败temp=notice.update(sql);代码部分:admin_addnotice.jsp<%@pagecontentType="text/html;charset=gb2312"language="java"import="java.sql.*"errorPage=""%><%@includefile="../ch.jsp"%><%@includefile="checkadmin.jsp"%>45
发布首页公告 <%Stringcontent=request.getParameter("content");//Stringtcontent=addbook.chStr(content);//解决中文乱码问题45
Stringsql="updatenoticesetcontent=""+content+"",createtime=DEFAULTwhereid=1";inttemp=-2;temp=notice.update(sql);%>发布首页公告 <%if(temp>0){%>alert("已经成功发布了新的首页公告!");返回管理首页<%}else{session.setAttribute("error","请检查你的输入.请确保你输入的信息的正确性!");response.sendRedirect("../errorpage.jsp");}%>第二节留言板功能模块留言板功能模块分为发布模块和回复模块。发布模块在前台完成,可以让任何人留言,而回复模块在后台使用只允许管理员查看回复。45
图7发布留言界面本功能所有文件放在guest目录下面,包含了guestbook_index.jsp,guestbook_postmessage.jsp,guestbook_save.jsp,guestbook_show.jsp,guestbook_viewmessage.jsp这5个文件,分别实现了留言板各个功能。其主要代码在guestbook_postmessage.jsp中.//从request获取名为"username"的参数值Stringusername=request.getParameter("username");//从request获取名为"content"的参数值Stringcontent=request.getParameter("content");//合成SQL语句,将username,content的值传入nickname,content表中,作用为将留言板内容放入数据库中String.sql="insertintoguestbook(nickname,content)values(""+username+"",""+content+"")";//判断语句,如果username为空或者错误,content为空或者错误的时候。if(username==null||username.equals("")||content==null||content.equals("")){else{inttemp=-2;//如SQL执行成功,temp>0,否则执行失败temp=guestbook.update(sql);%>//返回错误信息errorpage.jsp,显示“请检查你的输入.请确保你输入的信息的正确性!”错误信息文字以提示。else{session.setAttribute("error","请检查你的输入.请确保你输入的信息的正确性!");response.sendRedirect("../errorpage.jsp");}}45
%>回复留言功能模块主要是用于回复留言,由admin_guestbook_reply.jsp实现.其实现方法与前面类似,不在累述。代码部分:guestbook_index.jsp<%@pagecontentType="text/html;charset=gb2312"language="java"import="java.sql.*"errorPage=""%><%@includefile="../ch.jsp"%>请你给学校图书馆提建议 45
留言簿 欢迎同学们给学校图书馆提出宝贵的建议. 45
姓名:我想说: 管理员会认真考虑你的建议的! SetFocus();guestbook_postmessage.jsp<%@pagecontentType="text/html;charset=gb2312"language="java"import="java.sql.*"errorPage=""%><%@includefile="../ch.jsp"%>处理留言 45
<%Stringusername=request.getParameter("username");Stringcontent=request.getParameter("content");Stringsql="insertintoguestbook(nickname,content)values(""+username+"",""+content+"")";if(username==null||username.equals("")||content==null||content.equals("")){%>history.back();<%}else{inttemp=-2;temp=guestbook.update(sql);if(temp>0){%>alert("发布留言成功!我们会认真考虑你的建议的,谢谢!");返回网站首页<%}else{session.setAttribute("error","请检查你的输入.请确保你输入的信息的正确性!");response.sendRedirect("../errorpage.jsp");}}%>guestbook_save.jsp<%@pagecontentType="text/html;charset=gb2312"language="java"import="java.sql.*"errorPage=""%> <%@includefile="ch.jsp"%> <%Stringname=request.getParameter("name");Stringtname=guestbook.chStr(name);Stringcontent=request.getParameter("content");Stringtcontent=guestbook.chStr(content);Stringsql="insertintoguestbook(nickname,content)values(""+tname+"",""+tcontent+"")";guestbook.update(sql);%>45
无标题文档 <%@includefile="top.jsp"%>留言成功,管理员会尽快处理你的留言的!
查看当前留言 <%@includefile="bottom.jsp"%>guestbook_show.jsp<%@pagecontentType="text/html;charset=gb2312"language="java"import="java.sql.*"errorPage=""%> <%@includefile="/ch.jsp"%> <%Stringsql="select*fromguestbookorderbyiddesc";ResultSetrs=showguest.query(sql);Stringcolor="#99CC99";%>查看留言 45
<%while(rs.next()){if(color.equals("#99CC99")){color="#CCFFCC";}else{color="#99CC99";}Stringname=rs.getString(2);Stringcontent=rs.getString(3);Stringtime=rs.getString(4).substring(2,10);Stringreply=rs.getString(5);%>">留言者:<%=name%>留言内容:<%=content%> 时 间:<%=time%> <%if(session.getAttribute("username")==null){%>管理员回复:<%=reply%><%}else{%><%=reply%>>回复此留言<%}%> <%}%>我要留言
发布公告(首页只会滚动显示最新发布的一条公告)
公告内容:
admin_addnotice_post.jsp<%@pagecontentType="text/html;charset=gb2312"language="java"import="java.sql.*"errorPage=""%><%@includefile="../ch.jsp"%><%@includefile="checkadmin.jsp"%>
若忘记用户名或密码,请与管理人员联系
45
办理借书
45说明:借书的最大期限为一个月,超过一天,罚款2毛
请师生们按时还书,谢谢合作!
借书证号:
图书编号:
admin_borrowbook_post.jsp<%@pagecontentType="text/html;charset=gb2312"language="java"import="java.sql.*"errorPage=""%><%@includefile="../ch.jsp"%><%@includefile="checkadmin.jsp"%>