版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
4-湖南农业大学课程论文学院:信息科学与技术学院班级:软件10-2姓名:学号:课程论文题目:图书馆管理系统程序设计课程名称:J2EE编程技术评阅成绩:成绩评定教师签名:日期:年月日图书馆管理系统程序设计学生:(信息科学与技术学院,学号)摘要:随着信息管理技术日趋成熟,以及信息管理技术在个个领域的广泛应运,对与日趋庞大的图书馆管理,势必需要合理高效的管理技术。如今许多高校的图书馆管理系统还停留在以CS阶段,随着internet的广泛应用,以及以CS为结构的系统应用性、维护性上的繁杂性,导致以BS为结构的图书馆管理系统必定取代以CS为结构的图书馆管理系统。关键字:管理系统BS结构1、J2EE简介J2EE核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共通的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,,企业内部或外部难以互通的窘境。1.1J2EE的概念目前,Java2平台有3个版本,它们是适用于小型设备和智能卡的Java2平台Micro版(Java2PlatformMicroEdition,J2ME)、适用于桌面系统的Java2平台标准版(Java2PlatformStandardEdition,J2SE)、适用于创建服务器应用程序和服务的Java2平台企业版(Java2PlatformEnterpriseEdition,J2EE)。J2EE是一种利用Java2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE技术的基础就是核心Java平台或Java2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如"编写一次、随处运行"的特性、方便存取数据库的JDBCAPI、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对EJB(EnterpriseJavaBeans)、JavaServletsAPI、JSP(JavaServerPages)以及XML技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。1.2J2EE的优势J2EE为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制:保留现存的IT资产,高效的开发,支持异构环境,可伸缩性,稳定的可用性1.3J2EE的结构这种基于组件,具有平台无关性的J2EE结构使得J2EE程序的编写十分简单,因为业务逻辑被封装成可复用的组件,并且J2EE服务器以容器的形式为所有的组件类型提供后台服务.因为你不用自己开发这种服务,所以你可以集中精力解决手头的业务问题。2.系统概述2.1系统开发背景和意义图书管理是每个高校必须切实面对的工作,但如今许多高校的图书馆管理系统还停留在以CS为结构的系统上。随着internet的应用日趋广泛,以及高校内、高校与高校间信息的交流日趋密切,以CS为结构的信息管理系统以不能满足需求,所以,高校图书馆管理系统必须通过更新换代,将BS为结构的系统改为以CS为结构的系统,这样会大大提高系统的维护性以及系统应用的广泛性。由于图书这用特殊的物品,其表现在数据量非常庞大,所以对数据库的要求比较严格,由于oracle数据库其检索迅速、查找方便、可靠性高、保密性好,所以,选择oracle数据库为其存取数据。随着java技术在internet上的广泛应用以及java安全性高、执行效率高的优点,同时,java可以在任意平台上应用,所以可以任意组合硬件和操作系统,既可以在windows下开发,部署在linux下,极大了节省了操作系统的费用以及硬件的费用。3.系统需求分析性能需求:1.系统处理数据的准确性和及时性:系统处理的准确性和及时性是系统的必要性能。在系统设计阶段,就应该充分考虑到,包括数据存储量、访问量等,是系统能够满足图书管管理系统对数据的处理量。2.系统的开放性和系统的可扩充性:可扩充性是系统健壮性的重要体现,系统开发中应充分考虑到系统的可扩充性。可扩充性包括系统设计和测试阶段的扩充以及系统使用后的扩充。任何系统在开发阶段对需求都是完全明确的,即使系统交付使用后,用户也会提出增加功能,所以,在系统设计阶段就应该考虑到系统的可扩充性。系统的易用性和易维护性:图书馆管理系统由图书馆管理员和学生使用,而使用者对系统结构并不了解,这就要求系统提供良好的用户接口和友好的界面设计。要实现这一点,要求操作简洁明了,数据校验通俗易懂。4.系统总体设计4.1业务流程根据需求分析,以及反复的研究和探讨,确认其流程图如下:根据流程图,现具体功能描述如下:1.用户登录:系统对用户的合法性进行校验,登录后,系统会根据用户所拥有的权限来分配权限。2.书籍入库:填写书籍信息,可通过excel批量导入到数据库中。3.图书借阅:对已经入库的数据,学生可借阅。4.图书归还:对已经归还的书籍进行登记。5.管理措施:对定义系统规定的超期时间、超期处罚办法、丢失赔偿办法。4.2系统功能模块图依据需求分析阶段得到的数据流图,在保证系统基本功能的前提下,结合系统设计流程,给出系统功能模块图,如图:4.3系统的流程图5.程序主图标5.1程序流程图该设计阶段的任务是根据需求具体实现所需要的程序。经过这个阶段的设计,应该得出目标系统的精确描述,从而在系统实现阶段可以把这个描述直接翻译某种程序设计语言书写的程序。总体来说就是把各个模块的细节加以描述。由于本系统采用的是j2ee来设计程序,java是面向对象的变成语言,所以给出系统的主程序流程图,如图:5.2概念模型E-R图在需求阶段已经完成该系统所有的数据分析。根据该阶段建立的概念模型,已经得出满足系统设计要求的几个关系描述,该阶段的主要工作就是把前一阶段的成果转化为具体的数据库。下面给出概念结构设计的E-R图,如图所示:图(一)图(二)图(三)6.编码实现图书管理模块主要代码<%@pagecontentType="text/html;charset=gb2312"language="java"import="java.sql.*"errorPage=""%><%@pageimport="com.dao.BookDAO"%><%@pageimport="com.dao.BookTypeDAO"%><%@pageimport="com.actionForm.BookForm"%><%@pageimport="com.actionForm.BookTypeForm"%><%@pageimport="com.dao.BookCaseDAO"%><%@pageimport="com.actionForm.BookCaseForm"%><%@pageimport="com.dao.PublishingDAO"%><%@pageimport="com.actionForm.PublishingForm"%><%@pageimport="java.util.*"%><html><%Stringstr=null;BookTypeDAObookTypeDAO=newBookTypeDAO();Collectioncoll_type=(Collection)bookTypeDAO.query(str);if(coll_type==null||coll_type.isEmpty()){ out.println("<script>alert('请先录入图书类型信息!');history.back(-1);</script>");}else{ Iteratorit_type=coll_type.iterator(); inttypeID=0; Stringtypename1=""; BookCaseDAObookcaseDAO=newBookCaseDAO(); Stringstr1=null; Collectioncoll_bookcase=(Collection)bookcaseDAO.query(str1); if(coll_bookcase==null||coll_bookcase.isEmpty()){ out.println("<script>alert('请先录入书架信息!');history.back(-1);</script>"); }else{ Iteratorit_bookcase=coll_bookcase.iterator(); intbookcaseID=0; Stringbookcasename=""; PublishingDAOpubDAO=newPublishingDAO(); Stringstr2=null; Collectioncoll_pub=(Collection)pubDAO.query(str2); if(coll_pub==null||coll_pub.isEmpty()){ out.println("<script>alert('请先录入出版社信息!');history.back(-1);</script>"); }else{ Iteratorit_pub=coll_pub.iterator(); Stringisbn=""; Stringpubname=""; BookFormbookForm=(BookForm)request.getAttribute("bookQueryif"); %><scriptlanguage="jscript">functioncheck(form){ if(form.barcode.value==""){ alert("请输入条形码!");form.barcode.focus();returnfalse; } if(form.bookName.value==""){ alert("请输入图书姓名!");form.bookName.focus();returnfalse; } if(form.price.value==""){ alert("请输入图书定价!");form.price.focus();returnfalse; }}</script><head><title>图书馆管理系统</title><linkhref="CSS/style.css"rel="stylesheet"></head><bodyonLoad="clockon(bgclock)"><%@includefile="banner.jsp"%><%@includefile="navigation.jsp"%><tablewidth="778"border="0"cellspacing="0"cellpadding="0"align="center"><tr><tdvalign="top"bgcolor="#FFFFFF"><tablewidth="99%"height="510"border="0"align="center"cellpadding="0"cellspacing="0"bgcolor="#FFFFFF"class="tableBorder_gray"><tr><tdheight="510"valign="top"style="padding:5px;"><tablewidth="98%"height="487"border="0"cellpadding="0"cellspacing="0"><tr><tdheight="22"valign="top"class="word_orange">当前位置:图书管理>图书档案管理>修改图书信息>>></td></tr><tr><tdalign="center"valign="top"><tablewidth="100%"height="493"border="0"cellpadding="0"cellspacing="0"><tr><tdalign="center"valign="top"> <formname="form1"method="post"action="book.do?action=bookModify"><% intID=bookForm.getId().intValue(); Stringbookname=chStr.toChinese(bookForm.getBookName()); Stringbarcode=bookForm.getBarcode(); if(barcode==null)barcode=""; intTypeId=bookForm.getTypeId(); Stringtypename=chStr.toChinese(bookForm.getTypeName()); Stringauthor=chStr.toChinese(bookForm.getAuthor()); Stringtranslator=chStr.toChinese(bookForm.getTranslator()); StringISBN=bookForm.getIsbn(); Stringpublishing=chStr.toChinese(bookForm.getPublishing()); Floatprice=bookForm.getPrice(); intpages=bookForm.getPage(); intbookcaseid=bookForm.getBookcaseid(); Stringbookcase=chStr.toChinese(bookForm.getBookcaseName()); StringinTime=bookForm.getInTime(); Stringoperator=chStr.toChinese(bookForm.getOperator());%> <tablewidth="600"height="432"border="0"cellpadding="0"cellspacing="0"bgcolor="#FFFFFF"><tr><tdwidth="173"align="center"><inputname="id"type="hidden"id="id"value="<%=ID%>">条 形 码:</td><tdwidth="427"height="39"><inputname="barcode"type="text"id="barcode"value="<%=barcode%>"></td></tr><tr><tdalign="center">图书名称:</td><tdheight="39"><inputname="bookName"type="text"id="bookName"value="<%=bookname%>"size="60">*</td></tr><tr><tdalign="center">图书类型:</td><td> <selectname="typeId"class="wenbenkuang"id="typeId"><%while(it_type.hasNext()){BookTypeFormbookTypeForm=(BookTypeForm)it_type.next(); typeID=bookTypeForm.getId().intValue(); typename1=chStr.toChinese(bookTypeForm.getTypeName()); %> <optionvalue="<%=typeID%>"<%if(TypeId==typeID)out.println("selected");%>><%=typename1%></option><%}%></select></td></tr><tr><tdalign="center">作者:</td><td><inputname="author"type="text"id="author"value="<%=author%>"></td></tr><tr><tdalign="center">译者:</td><td><inputname="translator"type="text"id="translator"value="<%=translator%>"></td></tr><tr><tdalign="center">出版社:</td><td><selectname="isbn"class="wenbenkuang"><%while(it_pub.hasNext()){PublishingFormpubForm=(PublishingForm)it_pub.next(); isbn=pubForm.getIsbn(); pubname=chStr.toChinese(pubForm.getPubname()); %> <optionvalue="<%=isbn%>"<%if(isbn.equals(ISBN))out.println("selected");%>><%=pubname%></option><%}%></select></td></tr><tr><tdalign="center">价格:</td><td><inputname="price"type="text"id="price"value="<%=price%>">(元)*</td></tr><tr><tdalign="center">页码:</td><td><inputname="page"type="text"id="page"value="<%=pages%>"></td></tr><tr><tdalign="center">书架:</td><td><selectname="bookcaseid"class="wenbenkuang"id="bookcaseid"><%while(it_bookcase.hasNext()){BookCaseFormbookCaseForm=(BookCaseForm)it_bookcase.next(); bookcaseID=bookCaseForm.getId().intValue(); bookcasename=chStr.toChinese(bookCaseForm.getName()); %> <optionvalue="<%=bookcaseID%>"<%if(bookcaseid==bookcaseID)out.println("selected");%>><%=bookcasename%></option><%}%></select><inputname="operator"type="hidden"id="operator"value="<%=chStr.toChinese(manager)%>"></td></tr><tr><tdalign="center"> </td><td><inputname="Submit"type="submit"class="btn_grey"value="保存"onClick="returncheck(form1)"><inputname="Submit2"type="button"class="btn_grey"value="返回"onClick="history.back()"></td></tr></table> </form> </td></tr></table></td></tr></table></td></tr></table><%@includefile="copyright.jsp"%></td></tr></table><%}}}%></body></html>读者模块主要代码Reader.jsp<%@pagecontentType="text/html;charset=gb2312"language="java"import="java.sql.*"errorPage=""%><%@pageimport="com.dao.ReaderDAO"%><%@pageimport="com.actionForm.ReaderForm"%><%@pageimport="java.util.*"%><html><%Collectioncoll=(Collection)request.getAttribute("reader");%><head><title>图书馆管理系统</title><linkhref="CSS/style.css"rel="stylesheet"></head><bodyonLoad="clockon(bgclock)"><%@includefile="banner.jsp"%><%@includefile="navigation.jsp"%><tablewidth="778"border="0"cellspacing="0"cellpadding="0"align="center"><tr><tdvalign="top"bgcolor="#FFFFFF"><tablewidth="99%"height="510"border="0"align="center"cellpadding="0"cellspacing="0"bgcolor="#FFFFFF"class="tableBorder_gray"><tr><tdheight="510"valign="top"style="padding:5px;"><tablewidth="98%"height="487"border="0"cellpadding="0"cellspacing="0"><tr><tdheight="22"valign="top"class="word_orange">当前位置:读者管理>读者档案管理>>></td></tr><tr><tdalign="center"valign="top"><%if(coll==null||coll.isEmpty()){%><tablewidth="100%"height="30"border="0"cellpadding="0"cellspacing="0"><tr><tdheight="36"align="center">暂无读者信息!</td></tr></table><tablewidth="100%"border="0"cellspacing="0"cellpadding="0"><tr><td><ahref="reader_add.jsp">添加读者信息</a></td></tr></table><%}else{//通过迭代方式显示数据Iteratorit=coll.iterator();intID=0;Stringname="";Stringtypename="";Stringbarcode="";StringpaperType="";StringpaperNO="";Stringtel="";Stringemail="";%><tablewidth="100%"border="0"cellspacing="0"cellpadding="0"><tr><tdwidth="87%"> </td><tdwidth="13%"><ahref="reader_add.jsp">添加读者信息</a></td> </tr></table><tablewidth="95%"border="1"cellpadding="0"cellspacing="0"bordercolor="#FFFFFF"bordercolordark="#F6B83B"bordercolorlight="#FFFFFF"><tralign="center"bgcolor="#e3F4F7"><tdwidth="13%"bgcolor="#F9D16B">条形码</td><tdwidth="10%"bgcolor="#F9D16B">姓名</td><tdwidth="8%"bgcolor="#F9D16B">读者类型</td><tdwidth="12%"bgcolor="#F9D16B">证件类型</td><tdwidth="20%"bgcolor="#F9D16B">证件号码</td><tdwidth="12%"bgcolor="#F9D16B">电话</td><tdwidth="15%"bgcolor="#F9D16B">Email</td><tdwidth="5%"bgcolor="#F9D16B">修改</td><tdwidth="5%"bgcolor="#F9D16B">删除</td></tr><%while(it.hasNext()){ReaderFormreaderForm=(ReaderForm)it.next(); ID=readerForm.getId().intValue(); name=chStr.toChinese(readerForm.getName()); barcode=readerForm.getBarcode(); typename=chStr.nullToString(chStr.toChinese(readerForm.getTypename())," "); paperType=chStr.toChinese(readerForm.getPaperType()); paperNO=chStr.nullToString(readerForm.getPaperNO()," "); tel=chStr.nullToString(readerForm.getTel()," "); email=chStr.nullToString(readerForm.getEmail()," "); %><tr><tdstyle="padding:5px;"><%=barcode%></td><tdstyle="padding:5px;"><ahref="reader.do?action=readerDetail&ID=<%=ID%>"><%=name%></a></td><tdstyle="padding:5px;"><%=typename%></td><tdalign="center"><%=paperType%></td><tdalign="center"><%=paperNO%></td><tdalign="center"><%=tel%></td><tdalign="center"><%=email%></td><tdalign="center"><ahref="reader.do?action=readerM
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年居间服务费协议样本
- 全选离骚课件教学课件
- 2024广东广州市番禺区人民检察院招聘事业单位工作人员4人管理单位遴选500模拟题附带答案详解
- 2024年11月绍兴市2025届高三选考科目诊断性考试(一模) 化学试卷(含答案)
- 个人贷款还款责任协议
- 企业宣传视频制作合同
- 临时工劳动合同签订时间要点
- 仓储设施采购合同范本
- 仓储管理与物流优化制度
- 个人卖房协议
- 5.32.4园路、广场硬质铺装工程检验批质量验收记录
- 相逢在花季――青春期心理健康
- 市场监管局执法文书可编辑版现场检查笔录
- 布草洗涤程序
- 最新小学四年级部编语文上册-第四单元考点梳理(含答案)
- IPC4552中文.doc
- 和泉PLC编程软件
- 中学30+15高效课堂教学改革实施方案
- 《Flash CC动画制作》教学大纲 课程标准 最全最新
- 高喷防渗技术交底
- 大班语言《风在哪里》ppt课件[共12页]
评论
0/150
提交评论