• 323.50 KB
  • 2022-04-22 13:41:40 发布

JAVA语言图书馆管理系统毕业论文.doc

  • 47页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话: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 发布首页公告

发布公告(首页只会滚动显示最新发布的一条公告)

公告内容:

 

admin_addnotice_post.jsp<%@pagecontentType="text/html;charset=gb2312"language="java"import="java.sql.*"errorPage=""%><%@includefile="../ch.jsp"%><%@includefile="checkadmin.jsp"%><%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%>>回复此留言<%}%>
<%}%>我要留言
45 成都信息工程学院-2007

guestbook_viewmessage.jsp<%@pagecontentType="text/html;charset=gb2312"language="java"import="java.sql.*"errorPage=""%>查看留言fuck第三节系统管理员的登录功能模块图8管理员登录界面本功能涉及到图书管理操作的jsp文件,为了方便全部把它们放在admin目录里面,并且通过session防止非法登录.把这个功能提取出来,单独作为一个45 jsp文件,然后include到需要加密的jsp文件头部.这样如果非法用户直接提交后台URL,系统会将非法用户直接转到前台首页本功能由admin_login.jsp和admin_logincheck.jsp实现其主要代码是在admin_logincheck.jsp中,如下<%//从request获取名为"username"的参数值Stringusername=request.getParameter("username");//从request获取名为"password"的参数值STRINGPASSWORD=REQUEST.GETPARAMETER("PASSWORD");//如果username为空或者错误,以及password为空或者错误。if(username==null||username.equals("")||password==null||password.equals(""))else{//将username赋值到tusername,password赋值到tpasswordStringtusername=logincheck.chStr(username);Stringtpassword=logincheck.chStr(password);//搜索数据库中tusername和其对应的tpassword字段。Stringsql="select*fromadminwhereusername=""+tusername+""andpassword=""+tpassword+""";inttemp=-2;temp=logincheck.select(sql);if(temp>0){//表明验证成功,进入admin_index.jsp,并将用户定格为登录用户。session.setAttribute("name",tusername);response.sendRedirect("admin_index.jsp");}else{//验证失败,返回错误提示信息,并返回errorpage.jsp页面。session.setAttribute("error","请检查你的用户名和密码!");response.sendRedirect("../errorpage.jsp");}}%>代码部分admin_login.jsp<%@pagecontentType="text/html;charset=gb2312"language="java"import="java.sql.*"errorPage=""%>管理员登录  图书管理系统后台管理员登录用户名称:用户密码: 

若忘记用户名或密码,请与管理人员联系
45 返回首页SetFocus();admin_logincheck.jsp<%@pagecontentType="text/html;charset=gb2312"language="java"import="java.sql.*"errorPage=""%><%@includefile="../ch.jsp"%><%@includefile="checkadmin.jsp"%><%Stringusername=request.getParameter("username");Stringpassword=request.getParameter("password");if(username==null||username.equals("")||password==null||password.equals("")){%>history.back();<%}else{Stringtusername=logincheck.chStr(username);Stringtpassword=logincheck.chStr(password);Stringsql="select*fromadminwhereusername=""+tusername+""andpassword=""+tpassword+""";inttemp=-2;temp=logincheck.select(sql);if(temp>0){session.setAttribute("name",tusername);response.sendRedirect("admin_index.jsp");}else{session.setAttribute("error","请检查你的用户名和密码!");response.sendRedirect("../errorpage.jsp");}}%>检查管理员登录45 检查管理员登录第四节图书查询功能模块在前台允许所有用户对图书馆里面的书籍进行查询,返回内容包含书名,编号,分类和库存几个方面。总的来说该功能是本系统最重要的核心功能之一。前台图书查询图9Web图书查询界面图10查询结果界面图9为前台查询界面,图10为显示界面主要是实现对图书的查询,内容包括书名,图书编号,分类,库存量。分别由searchbook.jsp和实现其主要代码在功能代码在searchbook_post.jsp下,查询功能代码:<%Stringsql="";//解决中文乱码Stringkeyword=request.getParameter("keyword");Stringtkeyword=search.chStr(keyword);//获取参数名称Stringkeytype=request.getParameter("type");//如果按书名进行查询45 if(keytype.equals("booktitle")){sql="select*frombookwheretitlelike"%"+tkeyword+"%"";}//如果按书号进行查询elseif(keytype.equals("bookid")){sql="select*frombookwherebookIDlike"%"+tkeyword+"%"";}inttemp=search.select(sql);Connectionconn=search.getConn();Statementstmt=conn.createStatement();ResultSetrs=stmt.executeQuery(sql);//表单显示处理功能代码:while(rs.next()){Stringbooktitle=rs.getString(2);Stringbookid=rs.getString(3);Stringbooktype=rs.getString(4);intquantity=rs.getInt(5);id++;if(color=="#CCCCCC"){color="#999999";}else{color="#CCCCCC";}%>代码部分searchbook.jsp<%@pagecontentType="text/html;charset=gb2312"language="java"import="java.sql.*"errorPage=""%><%@includefile="../ch.jsp"%><%@includefile="checkadmin.jsp"%>查询图书信息45 图书标题图书编号TIP:关键字为空,则返回所有图书信息
searchbook_post.jsp<%@pagecontentType="text/html;charset=gb2312"language="java"import="java.sql.*"errorPage=""%><%@includefile="../ch.jsp"%><%@includefile="checkadmin.jsp"%><%Stringsql="";Stringkeyword=request.getParameter("keyword");Stringtkeyword=search.chStr(keyword);//解决中文乱码Stringkeytype=request.getParameter("type");if(keytype.equals("booktitle")){sql="select*frombookwheretitlelike"%"+tkeyword+"%"";}elseif(keytype.equals("bookid")){sql="select*frombookwherebookIDlike"%"+tkeyword+"%"";}45 inttemp=search.select(sql);Connectionconn=search.getConn();Statementstmt=conn.createStatement();ResultSetrs=stmt.executeQuery(sql);Stringcolor="#CCCCCC";intid=0;%>图书查询结果<%if(temp==0){out.println("对不起,没有查到相关图书,请重新查找.");}else{%>图书查询结果序号书名图书编号分类库存量<%while(rs.next()){Stringbooktitle=rs.getString(2);Stringbookid=rs.getString(3);Stringbooktype=rs.getString(4);intquantity=rs.getInt(5);id++;if(color=="#CCCCCC"){color="#999999";}else{color="#CCCCCC";}%>><%=id%><%=booktitle%><%=bookid%><%=booktype%><%=quantity%><%}}%>
当前库中一共有相关图书<%=id%>种
第五节其余功能模块45 后台所有图书查询在后台运行中,除了前台所拥有的查询外,还提供直接查询并允许对其修改和删除,其界面由admin_viewallbooks.jsp显示,而修改,删除由其他文件实现,其实现方法类似前台查询不在累述。代码部分admin_viewallbooks.jsp<%@pagecontentType="text/html;charset=gb2312"language="java"import="java.sql.*"errorPage=""%><%@includefile="../ch.jsp"%><%@includefile="checkadmin.jsp"%><%Stringsql="select*frombook";inttemp=-2;temp=viewbook.select(sql);Connectionconn=viewbook.getConn();Statementstmt=conn.createStatement();ResultSetrs=stmt.executeQuery(sql);Stringcolor="#FEEFF7";intid=0;%>当前库中所有图书信息45 <%if(temp==0){out.println("对不起,库中还没有图书,请录入新书.");}else{%>图书馆里所有图书信息图书查询序号书名图书编号分类库存量操作<%while(rs.next()){Stringids=rs.getString(1);Stringbooktitle=rs.getString(2);Stringbookid=rs.getString(3);Stringbooktype=rs.getString(4);intquantity=rs.getInt(5);id++;if(color=="#FEEFF7"){color="#F2FDF4";}else{color="#FEEFF7";}%>><%=id%><%=booktitle%><%=bookid%><%=booktype%><%=quantity%>">修改">删除<%}}%>
当前库中一共有相关图书<%=id%>种
45 借还手续功能模块包含了借书功能模块,还书功能模块,借阅信息功能模块,借书证管理功能模块。借还手续功能模块是另一个核心功能模块。借书功能模块通过输入借书证号和图书编号实现借书功能admin_borrowbook.jsp和admin_borrowbook_post.jsp文件实现。其主要功能在admin_borrowbook_post.jsp中实现。还书功能模块主要实现对图书的重新入库和清理所借图书人借书项目包含admin_returnbook.jsp,admin_returnbook_post.jsp和admin_returnbook_post_post.jsp三个文件。阅信息功能模块为查询所有借阅书籍的同学和其借阅的图书,主要由admin_viewallborrows.jsp实现。新开借书证功能模块本功能主要实现借书证的重新开启,包含admin_addnewuser.jsp,admin_addnewuser_post.jsp。修改借书证信息主要实现修改借书的情况,包括包含admin_changeuser.jsp和admin_changeuser_post.jsp两个文件管理图书功能模块主要用于对图书的管理,其包括录入新书功能模块和修改,删除图书功能模块,未归还图书查询功能模块。录入新书功能模块主要将图书录入,并添加其数量,名称,类别的功能由admin_addnewbook.jsp和admin_addnewbook_post.jsp两个文件实现。修改,删除图书功能模块主要是修改删除图书的信息。由admin_changebook.jsp和admin_changebook_post.jsp实现。用户信息管理功能模块是本系统后台最为重要的一部分,包括所有用户查询功能模块,搜索用户功能模块,管理员列表功能模块,添加管理员功能模块,修改密码功能模块。所有用户查询功能模块本功能作用是实现对用户信息查询,包括姓名,性别,年龄,系别,借书证号由admin_viewallusers.jsp实现搜索用户功能模块本功就是通过输入借书证号搜寻所查找的用户。由searchuser.jsp和searchuser_post.jsp文件实现用户功能模块主要是对用户的所有信息进行修改并保存由admin_changeuser.jsp和admin_changeuser_post.jsp实现。管理员列表功能模块主要是查询所有管理员。由admin_viewalladmins.jsp实现。添加管理员功能模块就是添加管理员,包括登录名和密码由admin_addadmin.jsp和admin_addadmin_post.jsp实现。修改管理员密码功能模块本功能主要是对管理员密码修改由changepwd.jsp和admin_changepwd_post.jsp实现。代码部分如下admin_borrowbook.jsp<%@pagecontentType="text/html;charset=gb2312"language="java"import="java.sql.*"errorPage=""%><%@includefile="../ch.jsp"%>45 <%@includefile="checkadmin.jsp"%>借书操作

办理借书

45

说明:借书的最大期限为一个月,超过一天,罚款2毛
                请师生们按时还书,谢谢合作!

借书证号:

图书编号:

   

SetFocus();

 

admin_borrowbook_post.jsp<%@pagecontentType="text/html;charset=gb2312"language="java"import="java.sql.*"errorPage=""%><%@includefile="../ch.jsp"%><%@includefile="checkadmin.jsp"%><%Stringborrowid=request.getParameter("borrowid");Stringbookid=request.getParameter("bookid");if(borrowid==null||borrowid.equals("")||bookid==null||bookid.equals("")){%>history.back();<%}else{Stringsql="insertintoborrowBook(borrowID,bookID)values(""+borrowid+"",""+bookid+"")";inttemp=-2;temp=borrow.update(sql);%>45 借书操作<%if(temp>0){%>alert("已完成借书操作.请你按时归还此图书!");继续借书 返回管理首页<%}else{session.setAttribute("error","请检查你的输入.请确保你输入的信息的正确性!");response.sendRedirect("../errorpage.jsp");}}%>第五章图书馆管理系统系统测试测试本系统测试环境:SQLsever2000,TOMCAT5.016/Weblogic8.0,Winwap,在WIN2000/XP下均测试通过.测试结果完全符合预期目标。但有部分BUG,现问题和解决方法总结如下:1.中文信息提交时为乱码。解决方法:将页面编码设置为GB2312,同时在服务器端将request编码也设置为GB23122.页面采用2个frame,在超链接的时候往往不能链接到目标frame上。解决方法:在超链接的后面添加target="目标框架"。最终经过详细功能测试和代码修正后,本系统完全实现借书与还书的手续操作与对图书和人员的管理功能。其系统界面简单、易用,其查询功能模块支持模糊查询和WAP查询功能使得系统更加强大。45 第六章总结本文提出的基于WEB的图书管理系统完成了借书,还书,查询图书,管理借书证和管理员帐户设置等主要功能,本系统是基于B/S模式,其后台部分完全实现借书与还书的手续操作与对图书和人员的管理功能,系统界面简单、易用,任何人都可以在短时间内学会使用该系统,在前台部分,创新设计的WAP图书查询部分,不仅大大方便了同学们查询图书,而且使得系统多样化,多元化,具有有很强的扩展性。由于是由JAVA语言编写,移植性也很好。在技术方面,通过此项目的开发,本人对基于Browser/Server即浏览器/服务器模式的多层体系结构的JSP技术有了一定的实战经验,同时对JavaBean的使用有了深刻的理解。将不同复杂的数据库操作划分为独立的模块封装于Bean中,提高了系统的安全性和可移植性。对于不足之处在于管理员权限没有细分,有条件的话可以采用给予角色的分配方法来分配权限。WAP部分功能相对于简单,可以继续加入留言板,图书续借,公告等实用功能。参考文献[1]林上杰,林康司.JSP2.0技术手册[M].北京:电子工业出版社,2005。[2]汪孝宜,刘中兵.JSP数据库开发实例精粹[M].北京:机械工业出版社,2001。[3]杨仁毅.DreamweaverMX2004自学手册[M].成都:四川电子音像出版中心,2004。[4]方睿,刁仁宏.网络数据库原理及应用[M].成都:四川大学出版社,2005。[5]陈明.实用软件工程基础[M].北京:清华大学出版社,2002。[6]耿祥义,张跃平.JAVA2实用教程[M].北京:清华大学出版社,2006。[7]张海藩.软件工程导论[M].北京:北京清华大学出版社,2003。[8]熊学军.UniversityLibraryUprightInformationServiceinDigitalAge.农业图书情报学刊,编辑部邮箱2003年05期。  [9]吴玉春.基于web的图书馆管理信息系统的分析与设计.南昌大学.CNKI:CDMD:2.2008.041025[10]刘辉.赵东安基于WAP的移动图书管理系统.CNKI:SUN:JSSY.0.2006-03-013[11]林上杰,林康司.JSP2.0技术手册[M].北京:电子工业出版社,2005。[12]汪孝宜,刘中兵.JSP数据库开发实例精粹[M].北京:机械工业出版社,2001。[13]杨仁毅.DreamweaverMX2004自学手册[M].成都:四川电子音像出版中心,2004。[14]方睿,刁仁宏.网络数据库原理及应用[M].成都:四川大学出版社,2005。[15]陈明.实用软件工程基础[M].北京:清华大学出版社,2002。45 [16]耿祥义,张跃平.JAVA2实用教程[M].北京:清华大学出版社,2006。[17]张海藩.软件工程导论[M].北京:北京清华大学出版社,2003。致谢、2010年发生了太多事,有太多的转折点,我最想谢谢的有3件事。第一件:我在实习的1个月中真正的成长起来。今年3月份我来到了格林凯莫有限公司技术部实习,短短1个月的工作使我受益匪浅,这是一次与社会工作的接轨。在技术部中,不仅计算机专业知识增长了,最主要是懂得了如何更好的为人处事。当今社会一直处在加速的发展变化中,所以对人才的要求也越来越高,我们要用发展的眼光看问题,就要不断提高思想认识,完善自我。师傅说作为一名IT从业者,所受的社会压力将比其他行业更加沉重,要学会创新求变,以适应社会的需要。如果是在单位,那就更需要掌握全面的计算机知识,因为小到计算机的组装维修,大到服务器的维护与测试,以及软件的开发,都需要一个人独立完成。可以说,近1个月的工作使我成长了不少,从中有不少感悟,下面就是我的一点心得:你可以伪装你的面孔你的心,但绝不可以忽略真诚的力量。第一天去技术部实习,心里不可避免的有些疑惑,要去干些什么,应该去怎么做,等等!踏进们,只见几个陌生的脸孔用莫名而疑惑的眼神看着我。我微笑着和他们打招呼,尴尬的局面立刻得到了缓解,大家多很友善的微笑欢迎我的到来。从那天起,我养成了一个习惯,每天早上见到他们都要微笑的说声:“师傅早”,那是我心底真诚的问候。我总觉得,经常有一些细微的东西容易被我们忽略,比如轻轻的一声问候,但它却表达了对老师同事对朋友的尊重关心,也让他人感觉到被重视与被关心。仅仅几天的时间,我就和师傅们打成一片,很好的跟他们交流沟通学习,我想,应该是我的真诚,换得了老师的信任。他们把我当朋友也愿意指导我,愿意分配给我任务。其次沟通很重要:要想在短暂的实习时间内,尽可能多的学一些东西,这就需要跟老师有很好的沟通,加深彼此的了解,刚到网络中心,老师并不了解你的工作学习能力,不清楚你会做哪些工作,不清楚你想了解什么样的知识,所以跟老师建立起很好的沟通是很必要的。同时我觉得这也是我们将来走上社会的一把不可获缺的钥匙。通过沟通了解,师傅我有了大体的了解,一边有针对性的教我一些计算机知识,一边根据我的兴趣给予我更多的指导与帮助,例如我对网络布线,电脑硬件安装,系统、网络或硬件故障排除,工作原理应用等方面比较感兴趣,师傅就让我和他一起完成电脑故障排除工作。在这次的工作中,我真正学到了计算机教科书上所没有的知识,拥有了实践经验,这才真正体现了知识的真正价值,学以致用。对本质工作要有耐心和激情45 :激情与耐心,就像火与冰,看似两种完全不同的东西,却能碰撞出最美丽的火花。我们的知识不断的在更新,这就需要你有激情去发现与创造,而你的耐心就要用到不断的学习新知识,提高自己的专业水平当中去。在一些具体的工作当中也是这样的:记得刚来公司实习的时候老板得电脑出了问题,我自告奋勇的毛遂自荐,安装winXP操作系统,本是非常简单的事,可没想到出现了很多问题,通过自己的摸索,调试,自此,我算是真正的弄明白了计算机的硬件安装,维护和更新。后来我又进行了各种计算机操作系统的反复安装调试,一遍又一遍的调试安装,自然有些烦,但我用我的热情与耐心克服这些困难,师傅也帮我用书面的方式整理了不少关于硬件故障的经验,比如说:我们可以在电脑启动的时候就可以通过声音来判断故障:1短:启动正常,2短:非致命错误,1长1短:显示错误,1长2短:键盘错误;计算机蓝屏的原因有:一、系统重要文件损坏或丢失引起的(包括病毒所致),二、内存超频或不稳定造成的蓝屏,三、硬件的兼容性不好引起的蓝屏,四、硬件散热引起的“蓝屏”故障;计算机经常死机的原因有:一、系统出现错误包括病毒所致,二、主板的芯片或者其他的零部件损坏,三、显卡接触不良,四、内存接触不良,五、CPU风扇散热不良,六、计算机的电源有问题,七、硬盘出现故障等;计算机黑屏的原因:一、显示器断电,或显示器数据线接触不良;二、主板没有供电;三、显卡接触不良或损坏;四、CPU接触不良;五、内存条接触不良;六、机器感染CIH病毒,BIOS被破坏性刷新等等。因为我师傅是硬件方面的工程师,对软件了解可能比较少吧,所以在软件方面的故障我接触的比较少,大多客户都是中病毒引起的,直接重装系统就解决问题了。但是我觉得重装系统实在是耗费太多的时间了,所以我就自学了很多软件方面的知识以完备自己。在公司里我问师傅,查资料,一个个问题迎刃而解,自己在这方面的知识得到了充实。这些在平常的书本上仅仅是获得感性的认识,而在这里真的实践了,才算是真正的掌握了,也让我认识到了自己的不足,告诫自己,不管做什么,切忌眼高手低,要善于钻研。师傅说对每台计算机都要细心负责,具有基本的专业素养,因为细心负责是做好每一件事情所必备的基本条件,基本的专业素养是做好前提是发挥自己的主观能动性:“主动出击”:当你可以选择的时候,把主动权握在自己手中。在公司的时候,主动的打扫卫生,主动地帮师傅做一些力所能及的事情,并会积极地寻找合适的时间,向老师请教问题,跟师傅像朋友那样交流,谈生活学习以及未来的工作,通过这些我就和师傅走的更近,在实习当中,,师傅就会更愿意更多的指导我,使我获得更大的收获。有时我就自高奋勇,独自去一些地方进行检修等故障排除。我心里感觉很高兴,因为我的主动,我巩固了我所学的知识,并且得到了师傅的认可。整个的实习过程是紧张而愉快的,工作态度和成效也得到了经理和同事们的肯定。这次的实践让我领悟到很多45 。今后,我将继续保持认真负责的工作态度,高尚的思想觉悟,进一步完善和充实自己,争取在以后的学习中更好的完善自己,在以后的实践中更好的运用去自己的只是,做一个合格的大学生,将来做一名对社会有用的人。我们都会因涉事而成长。第二件:我要谢谢我毕业了,尽管忙的喘不过气,但是不得不承认这个阶段是在高考后付出和得到都最多的。茫茫然中工作了走入了社会,刚开始难免觉得吃力和力不从心,到了今天我能坦然的面对一切的困难,并且坚定自己的信心。我相信走出校门的日子会更加精彩。第三件:本文是在吴江红老师的热情关心和指导下完成的,她渊博的知识和严谨的治学作风使我受益匪浅,对顺利完成本课题起到了极大的作用。另外,由于一直实习的关系,对每周的例行检查出勤是不高的,老师宽容对待,甚至挤出自己的时间来给予指导,在此向她表示我最衷心的感谢!在论文完成过程中,本人还得到了同学的热心帮助,本人向他们表示深深的谢意!最后向在百忙之中评审本文的各位专家、老师表示衷心的感谢后台管理员:admin密码:admin88845 天津科技大学2007届本科生毕业设计1'