J2EE课程设计方案_第1页
J2EE课程设计方案_第2页
J2EE课程设计方案_第3页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

1、湖南农业大学课程论文学院:信息科学与技术学院班级:软件10-2姓名:学号:课程论文题目:图书馆管理系统程序设计课程名称:J2EE编程技术评阅成绩:成绩评定教师签名:日期: 年 月 日图书馆管理系统程序设计学 生:(信息科学与技术学院,学号)摘要:随着信息管理技术日趋成熟,以及信息管理技术在个个领域的广泛应运,对与日趋庞大的图书馆管理,势必需要合理高效的管理技术。如今许多高校的图书馆管理系统还停留在以CS阶段,随着in ternet的广泛应用,以及以 CS为结构的系统应用性、维护性上的 繁杂性,导致以 BS为结构的图书馆管理系统必定取代以CS为结构的图书馆管理系统。关键字:管理系统 BS结构1、

2、J2EE简介J2EE核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均 有共通的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,企业内部或外部难以互通的窘境。1.1 J2EE的概念目前,Java 2平台有3个版本,它们是适用于小型设备和智能卡的Java 2平台Micro版(Java 2 Platform Micro Edition , J2ME)、适用于桌面系统的Java 2 平台标准版(Java2 Platform Standard Edition, J2SE)、适用于创建服务器应用程序和服务的Java

3、2平台企业版(Java 2 Platform Enterprise Edition, J2EE)。J2EE 是一种利用 Java 2 平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE技术的基础就是核心Java平台或Java 2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如”编写一次、随处运行”的特性、方便存取数据库的JDBC API、CORBA技术以及能够在In ternet应用中保护数据的安全模式等等,同时还提供了对EJB (Enterprise JavaBeans)、JavaServlets API、JSP (Java Server Pages)以及 X

4、ML技术的全面支持。其最终目的就是成为 一个能够使企业开发者大幅缩短投放市场时间的体系结构。1.2 J2EE 的优势J2EE为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制:保留现存的IT资产,高效的开发,支持异构环境,可伸缩性,稳定的可用性1.3 J2EE 的结构这种基于组件,具有平台无关性的J2EE结构使得J2EE程序的编写十分简单,因为业务逻辑被封装成可复用的组件,并且J2EE服务器以容器的形式为所有的组件类型提供后台服务因为你不用自己开发这种服务,所以你可以集中精力解决手头的业务问题。2. 系统概述2.1系统开发背景和意义图书管理是每个高校必须切实面对的工作,但如今许多高

5、校的图书馆管理系统还停留 在以CS为结构的系统上。随着in ternet的应用日趋广泛,以及高校内、高校与高校间信息 的交流日趋密切,以CS为结构的信息管理系统以不能满足需求,所以,高校图书馆管理系统必须通过更新换代,将BS为结构的系统改为以 CS为结构的系统,这样会大大提高系统的维护性以及系统应用的广泛性。由于图书这用特殊的物品,其表现在数据量非常庞大,所以对数据库的要求比较严格,由于oracle数据库其检索迅速、查找方便、可靠性高、保密性好,所以,选择oracle数据库为其存取数据。随着java技术在in ternet上的广泛应用以及java安全性高、执行效率高的优点,同时,java可以在

6、任意平台上应用,所以可以任意组合硬件和操作系统,既可以在 windows下开发,部署在linux下,极大了节省了操作系统的费用以及硬件的费用。3系统需求分析3.1 任务概述 整个图书馆管理系统的业务流程抽象描述如下: 1 新书购进后,进行分类、同一编码和入库。 2学生借阅图书后,记录相关信息。3. 学生归还时,对比查看该书是否超期,超期后,按规定罚款。 根据以上调查分析,给出业务流程图,如图:3.2数据描述(数据流图+数据字典)经过调查,我们了解了基本的业务程序,接下来给出系统的逻辑模型。构造系统的逻辑模型的工具主要是数据流图和数据字典,下面给出图书馆管理系统的基本模型,如图:根据基本模型,对

7、其逐步细化,得到数据流图,如图:根据系统流程图,通过数据字典对数据进一步描述: 图书:图书表结构描述:记录图书的相关信息定义:图书信息表 图书编号、图书名称、ISBN号、作者、出版社、类 型、价格、库存量、副本存量、总量位置:LibWeb表空间借书登记:借书登记表结构描述:记录图书的借阅信息定义:借阅登记表 借阅编号、学生编号、图书编号、借阅时间、归还时 间、是否归还位置:LibWeb表空间学生信息:学生信息表结构描述:记录学生信息定义:学生信息表 学生学号、学生姓名、性别、入校时间、毕业时间位置:LibWeb表空间归还登记:归还登记表结构描述:记录所有已归还图书的借阅情况定义:归还信息表编号

8、、图书名称、归还时间、归还学生编号、归还学生姓名位置:LibWeb数据空间用户信息:用户表结构描述:记录所有用户定义:用户信息表 账号、真实姓名、密码、描述位置:LibWeb数据空间角色信息:角色表结构描述定义位置记录所有角色角色信息表 角色名称、角色描述LibWeb数据空间3.3功能需求经过以上详细的调查和分析,在数据流程和数据分析的基础上,确定达到的功能为一下几点:新书入库登记:对与需求入库的书籍,进行数据登记,确认后书籍入库。图书信息的查询和修改功能:当图书资料发生变化、 当图书丢失,应立即修改信息。图书借阅和归还登记:学生借阅图书时需要登记,学生归还图书时也需要登记。学生的增加、修改、

9、删除等:新生入学时的信息和直接导入。用户的增加、修改、删除等:用户可根据权限来操作。3.4性能需求为了保证系统能够长期、高效、安全、稳定、可靠的运行,图书馆管理系统应满足一下性能需求:1. 系统处理数据的准确性和及时性:系统处理的准确性和及时性是系统的必要性能。在系统设计阶段,就应该充分考虑到, 包括数据存储量、访问量等,是系统能够满足图书管管理系统对数据的处理量。2. 系统的开放性和系统的可扩充性:可扩充性是系统健壮性的重要体现,系统开发中应充分考虑到系统的可扩充性。可扩充性包括系统设计和测试阶段的扩充以及系统使用后的扩充。任何系统在开发阶段对需求都是完全明确的,即使系统交付使用后,用户也会

10、提出增加功能,所以,在系统设计阶段就应该考虑到系统的可扩充性。系统的易用性和易维护性:图书馆管理系统由图书馆管理员和学生使用, 而使用者对系统结构并不了解, 这就要求 系统提供良好的用户接口和友好的界面设计。要实现这一点,要求操作简洁明了, 数据校验通俗易懂。4. 系统总体设计4.1业务流程根据需求分析,以及反复的研究和探讨,确认其流程图如下:登记后的图书根据流程图,现具体功能描述如下:1. 用户登录:系统对用户的合法性进行校验,登录后,系统会根据用户所拥有的权限来分配权限。2. 书籍入库:填写书籍信息,可通过excel批量导入到数据库中。3. 图书借阅:对已经入库的数据,学生可借阅。4. 图

11、书归还:对已经归还的书籍进行登记。5. 管理措施:对定义系统规定的超期时间、超期处罚办法、丢失赔偿办法。4.2系统功能模块图依据需求分析阶段得到的数据流图,在保证系统基本功能的前提下, 结合系统设计流程,给出系统功能模块图,如图:图书管理员添加角色用户角色管理T 归还管理r!添加ffi户归还查询归还登记一借阅查询* 借阅管理 I借阅登记 1 学生查询P 学生管理 匸学生添加4.3系统的流程图5程序主图标5.1程序流程图该设计阶段的任务是根据需求具体实现所需要的程序。经过这个阶段的设计,应该得出目标系统的精确描述,从而在系统实现阶段可以把这个描述直接翻译某种程序设计语言书写 的程序。总体来说就是

12、把各个模块的细节加以描述。由于本系统采用的是j2ee来设计程序,java是面向对象的变成语言,所以给出系统的 主程序流程图,如图:5.2概念模型E-R图在需求阶段已经完成该系统所有的数据分析。根据该阶段建立的概念模型,已经得出满足系统设计要求的几个关系描述,该阶段的主要工作就是把前一阶段的成果转化为具体京色名j c描述J图(二)個书邛希图书图书名称6编码实现图书管理模块主要代码<% page contentType="text/html; charset=gb2312" Ianguage="java" import="java.sql.*

13、" errorPage="" %><% page import="com.dao.BookDAO" %><% page import="com.dao.BookTypeDAO" %><% page import="com.act ionFo rm.BookForm" %><% page import="com.act ionFo rm.BookTypeForm"%><% page import="com.dao.Bo

14、okCaseDAO" %><% page import="com.act ionFo rm.BookCaseForm" %><% page import="com.dao.Publishi ngDAO" %><% page import="com.act ionFo rm.Publish in gForm" %><% page import="java.util.*"%><html><%String str=n ull;BookTyp

15、eDAO bookTypeDAO=new BookTypeDAO();Collection coll_type=(Collection)bookTypeDAO.query(str);if(coll_type=n ull | coll_type.isEmpty()out.println("<script>alert('请先录入图书类型信息!');history.back(-1);</script>");elseIterator it_type=coll_type.iterator();int typelD=0;String type n

16、ame1=""BookCaseDAO bookcaseDAO=new BookCaseDAO();String str仁 nu II;Collect ion coll_bookcase=(Collect ion )bookcaseDAO.query(str1);if(coll_bookcase=n ull | coll_bookcase.isEmpty()out.println("<script>alert('请先录入书架信息!');history.back(-1);</script>");elseIterator

17、 it_bookcase=coll_bookcase.iterator();int bookcaselD=0;String bookcase name=""Publish in gDAO pubDAO=new Publishi ngDAO();Stri ng str2=null;Collectio n coll_pub=(Collectio n)pubDAO.query(str2);if(coll_pub=n ull | coll_pub.isEmpty()out.println("<script>alert('请先录入出版社信息 r);his

18、tory.back(-1);</script>");elseIterator it_pub=coll_pub.iterator();String isb n="”;String pub name=""BookForm bookForm=(BookForm)request.getAttribute("bookQueryif');%><script Ian guage="jscript">fun ctio n check(form)if(form.barcode.value="&q

19、uot;)alert("请输入条形码);form.barcode.focus();return false;if(form.bookName.value="")alert("请输入图书姓名!");form.bookName.focus();return false;if(form.price.value="")alert("请输入图书定价);form.price.focus();return false;</script><head><title>图书馆管理系统</titl

20、e><li nk href="CSS/style.css" rel="stylesheet"></head><body on Load="clock on( bgclock)"><%i nclude file="ba nn er.jsp"%><%i nclude file=" navigatio n.jsp"%><table width="778"border="0" cellspac

21、i ng="0" cellpaddi ng="0" alig n="ce nter"><tr><td valign="top" bgcolor="#FFFFFF"><table width="99%" height="510" border="0"alig n="cen ter" cellpaddi ng="0" cellspaci ng="0&quo

22、t; bgcolor="#FFFFFF" class="tableBorder_gray"><tr><td height="510" valign="top" style="padding:5px;"><table width="98%" height="487" border="0" cellpaddi ng="O" cellspaci ng="O">&

23、lt;tr><td height="22" valign="top" class="word_orange"> 当前位置:图书管理&gt;图书档案管理&gt;修改图书信息 &gt;&gt;&gt;</td></tr><tr><td align="center" valign="top"><tablewidth="100%" height="493"

24、; border="0"cellpaddi ng="O" cellspaci ng="O"><tr><td alig n="ce nter" valig n="top">vform n ame="form1" method="post" acti on="book.do?act ion=bookModify"><% int ID=bookForm.getld().intValue();Strin

25、g book name=chStr.toCh in ese(bookForm.getBookName();String barcode=bookForm.getBarcode();if(barcode=n ull) barcode=""int Typeld=bookForm.getTypeld();String type name=chStr.toCh in ese(bookForm.getTypeName();String author=chStr.toCh in ese(bookForm.getAuthor();String tran slator=chStr.toCh

26、i nese(bookForm.getTra nslator();String ISBN=bookForm.getlsb n();String publish in g=chStr.toCh in ese(bookForm.getPublish in g();Float price=bookForm.getPrice();int pages=bookForm.getPage();int bookcaseid=bookForm.getBookcaseid();String bookcase=chStr.toChi nese(bookForm.getBookcaseName();Stri ng i

27、n Time=bookForm.getI nTime();String operator=chStr.toCh in ese(bookForm.getOperator();%><table width="600" height="432" border="0"cellpaddi ng="0"cellspaci ng="0"bgcolor="#FFFFFF"><tr><td width="173"alig n="

28、ce nter"><i nputname="id" type="hidde n" id="id"value="<%=ID%>">条&nbsp;形 &nbsp;码:</td><td width="427" height="39"><in put n ame="barcode" type="text" id="barcode" valu

29、e="<%=barcode%>"></td></tr><tr><td align="center"> 图书名称:</td><tdheight="39"><i nputn ame="bookName" type="text" id="bookName"value="<%=book name%" size="60">* </td

30、></tr><tr><td align="center"> 图书类型:</td><td><select n ame="typeld" class="we nben kua ng" id="typeld"><% while(it_type.hasNext()BookTypeForm bookTypeForm=(BookTypeForm)it_type .n ext(); typelD=bookTypeForm.getld().i nt

31、Value();type name仁chStr.toChi nese(bookTypeForm.getTypeName();%><option value="<%=typelD%>" <%if(Typeld=typelD) out.pri ntln ("selected");%<%=type name1%></opti on> <%></select> </td></tr><tr><td align="center"

32、> 作者:</td><td> <in put n ame="author" type="text" id="author" value="<%=author%>"></td></tr><tr><td align="center"> 译者:</td><td> <in putn ame="tra nslator"type="text&quo

33、t;id="tra nslator"value="<%=tra nslator%>"></td></tr><tr><td align="center"> 出版社:</td><td><select n ame="isb n" class="we nben kua ng"><%while(it_pub.hasNext()Publishi ngForm pubForm=(Publish in g

34、Form)it_pub .n ext();isb n=pubForm.getlsb n();pub name=chStr.toCh in ese(pubForm.getPub name();%><option value="<%=isb n%>" <%if(isb n. equals(lSBN) out.pri ntl n("selected");%>><%=pub name%></opti on> <%></select> </td></tr&g

35、t;<tr><td align="center"> 价格:</td><td> <in put n ame="price" type="text" id="price" value="<%=price%>">(元)* </td></tr><tr><td align="center"> 页码:</td><td> <in put n

36、ame="page" type="text" id="page" value="<%=pages%>"></td></tr><tr><td align="center"> 书架:</td><td><select n ame="bookcaseid" class="we nben kua ng" id="bookcaseid"><%

37、 while(it_bookcase.hasNext()BookCaseForm bookCaseForm=(BookCaseForm)it_bookcase .n ext(); bookcaselD=bookCaseForm.getld().i ntValue();bookcase name=chStr.toCh in ese(bookCaseForm.getName();%><opti onvalue="<%=bookcaselD%>"<%if(bookcaseid=bookcaselD)out.pri ntln ("select

38、ed");%<%=bookcase name%x/opti on> <%></select><in putn ame="operator"type="hidde n"id="operator"value="<%=chStr.toCh in ese(ma nager)%>"x/td></tr><tr><td alig n="ce nter" >&n bsp;</td><

39、;td><input name="Submit" type="submit" class="btn_grey" value=" 保存"onClick="return check(form1)"><in putn ame="Submit2"type="butt on"class="bt n_grey"value=" 返 回on Click="history.back()"><

40、;/td></tr></table></form></td></tr></table></td></tr></table></td></tr></table><% in clude file="copyright.jsp"%></td></tr></table><%></body></html>读者模块主要代码Reader.jsp<% p

41、age contentType="text/html; charset=gb2312" Ianguage="java" import="java.sql.*" errorPage="" %><% page import="com.dao.ReaderDAO" %><% page import="com.acti onFo rm.ReaderForm" %><% page import="java.util.*"%>

42、<html><%Collect ion coll=(Collect ion) request.getAttribute("reader");%><head><title>图书馆管理系统</title><li nk href="CSS/style.css" rel="stylesheet"></head><body on Load="clock on( bgclock)"><%i nclude file="

43、ba nn er.jsp"%><%i nclude file=" navigatio n.jsp"%><table width="778"border="0" cellspaci ng="0" cellpaddi ng="0" alig n="ce nter"><tr><td valig n="top" bgcolor="#FFFFFF"><table width=&

44、quot;99%" height="510"border="0"alig n="cen ter" cellpaddi ng="0" cellspaci ng="0" bgcolor="#FFFFFF" class="tableBorder_gray"><tr><td height="510"valig n="top"style="paddi ng:5px;">

45、;<table width="98%"height="487"border="0" cellpadd in g="0" cellspaci ng="0"><tr><td height="22" valign="top" class="word_orange"> 当前位置:读者管理&gt;读者档案管理& gt; &gt; &gt;</td></tr>

46、;<tr><td alig n="cen ter" valig n="top"><%if(coll=null | coll.isEmpty()%><table width="100%" height="30"border="0" cellpaddi ng="0"cellspac in g="0"><tr><td height="36" align="center

47、"> 暂无读者信息!</td></tr></table><table width="100%" border="0" cellspaci ng="0" cellpaddi ng="0"><tr><td><a href="reader_add.jsp"> 添加读者信息 </a> </td></tr></table><%else/通过迭代方式显示数

48、据Iterator it=coll.iterator();int ID=0;String n ame=""String type name=""String barcode=""String paperType=""Stri ng paperNO=""String tel=""Stri ng email=""%><table width="100%" border="0" cellspaci ng=&qu

49、ot;O" cellpaddi ng="O"><tr><td width="87%">&n bsp;</td><td width="13%"><a href="reader_add.jsp"> 添加读者信息 </a></td></tr></table>cellpadd in g="0"cellspaci ng="O"bordercolor=&qu

50、ot;#FFFFFF" bordercolordark="#F6B83B" bordercolorlight="#FFFFFF"><tr alig n="ce nter" bgcolor="#e3F4F7"><td width="13%" bgcolor="#F9D16B"><td width="10%" bgcolor="#F9D16B"><td width="8%&

51、quot; bgcolor="#F9D16B"><td width="12%" bgcolor="#F9D16B"><td width="20%" bgcolor="#F9D16B"><td width="12%" bgcolor="#F9D16B"><table width="95%"border="1"条形码</td> 姓名</td> 读者类

52、型</td>证件类型</td> 证件号码</td> 电话</td><td width="15%" bgcolor="#F9D16B">Email</td><td width="5%" bgcolor="#F9D16B"> 修改 </td><td width="5%" bgcolor="#F9D16B"> 删除 </td></tr><%whi

53、le(it.hasNext()ReaderForm readerForm=(ReaderForm)it. next();ID=readerForm.getld().i ntValue();n ame=chStr.toChi nese(readerForm.getName();barcode=readerForm.getBarcode();type name=chStr. nullToStri ng(chStr.toCh in ese(readerForm.getType name(),"&n bsp;"); paperType=chStr.toCh in ese(r

54、eaderForm.getPaperType();paperNO=chStr. nullToStri ng(readerForm.getPaperNO(),"&n bsp;");tel=chStr. nullToStri ng(readerForm.getTel(),"&n bsp;");email=chStr. nullToStri ng(readerForm.getEmail(),"&n bsp;");%><tr><td style="paddi ng:5px;"x%=barcode%></td><tdstyle="paddi ng:5px;"><ahref="reader.do?acti on=readerDetai l&ID=<%=ID%>"><%=n ame%></a></td><td style="paddi ng:5px;"x%=type name%x/td><td

温馨提示

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

评论

0/150

提交评论