
基于J2EE的图书馆管理系统设计.docx
《基于J2EE的图书馆管理系统设计.docx》由会员分享,可在线阅读,更多相关《基于J2EE的图书馆管理系统设计.docx(14页珍藏版)》请在咨信网上搜索。
基于J2EE的图书馆管理系统设计 【摘 要】图书馆管理系统是典型的信息管理系统,其开发主要包括数据库的建立和维护以及应用程序的开发两个方面。对于数据库要求建立数据一致性、完整性和安全性好的数据库。而对于程序则要求程序功能简便,易于使用等特点。 本文结合开放式图书馆的要求,对MySQL数据库、JSP、JavaScript以及Struts 2框架应用程序设计,对数据库进行较为深入的应用,主要是对于图书管理系统的需求分析、数据库模式分析、功能模块设计分析,并设计了数据库结构和程序功能模块。本人所设计的图书管理系统完全可以满足学生、教师等借阅者、图书馆操作员以及高级管理员的需要。 文章详细介绍了图书馆管理系统的开发背景及其,软硬件环境,系统需求分析,系统总体设计,系统代码设计以及后期的测试与维护中的问题。设计部分列出了几个主要的程序框架图,并附带了一些主要的窗口和程序。 【关键词】信息管理系统;浏览器服务器架构;MVC框架;JSP; Library management system 【ABSTRACT】Library management system is a typical management information system, which mainly includes the establishment and maintenance of the background database and front-end application development aspects. The former required strong data consistency and integrity. Data with good security. For the latter application powerful, easy to use and so on. So oneself combine to open into the request of type library, apply program design to the MySQL databaseVisual Bdatabase technique carried on more thorough study and application, mainly completing the need to manage the system to book analysis, function mold piece divide the line, database mode analysis, and designed database structure from here and applied procedure. This paper introduces the background of library management system development, needs analysis, hardware and software environment, system design, system detailed design, system design, and post-test code and maintenance problems. Design section lists a few major procedural framework map, and with some of the major windows and programs. 【Key Words】 Information Management System;B/S;MVC;JSP 1.绪论 1.1 开发背景及意义 随着现阶段社会的发展,人们对知识的需求在不断地增长。在这种形势下,书籍已渐渐成为人们获取知识的主要途径,图书馆的存在可以满足人们对知识需求,因此,开发一套完善的图书馆管理系统是必不可少的,图书馆每天都要面对大量的读者和书籍的信息以及两者相互作用产生的借书、还书的信息。因此需要对读者、书籍资源、借书、还书的信息进行管理,及时准确记录各个环节中信息的变更。 图书馆采取手工方式对图书借阅情况进行人工管理,数据处理的手工操作,工作量较大,出错率高,且出错后不易更改。 对于这个问题,本人认为必须要建立一个图书管理系统,使图书管理工作具有规范化,系统化,程序化,提高对图书信息管理的速度以及准确性,能够及时、有效的查询和修改图书情况。 1.2 课题的国内外研究现状 现今,国外尤其在西方发达国家由于科学技术和经济发达,图书馆行业受到很大程度的重视和发展,其图书馆在管理系统方面起步也比较早,已形成了相对完善的软件产品。而在中国,图书馆计算机管理始于1980年代初,我国的计算机技术正在快速发展,图书情报信息化建设迈上一个新的台阶。 现在很多图书馆正着手建立自己的图书馆管理系统,既将传统的图书资料转换为全文数据存放于网络。只要能接入互联网,无论何时何地,您都可以获取自己所要的资料。图书馆管理系统是图书馆信息化建设的一个主要发展趋势。 1.3 课题的开发目标 开发目标有如下7点: 1 能够在系统上展示图书馆的各项信息。 2 能够管理读者和图书的信息。 3 能够给读者赋予几种不同级别的阅读权限,不同级别的读者可以一次借阅不同数目的图书。 4 管理员通过Internet管理图书馆的各项信息,包括图书的借阅,读者图书证的办理。 5 能够给不同的管理员设定不同的管理权限。 6 能够对图书的借阅情况进行统计。 7 要求系统运行安全稳定。 1.4 课题的设计原则 整个系统采用MVC模式完成。 整个V层所有页面全部采用JSP完成,可以动态地显示页面中的各项数据库中查出的数据,并能做到动态的更新页面。其中也运用了JavaScript技术。比如系统中所有的菜单项都是采用的此技术,其可以使页面看起来更加简介,更加灵活,此外,由于验证部分也采用了这种技术,在一定程度上减轻了服务器端的压力。 在C 层运用了Struts框架技术,其接收所有表单请求,并把参数包装成对象后传递给Service层,好方便Service层调用相应的业务对象。 M层是数据模型层,其包括了所有Service层和实体类,数据操作类及业务类,业务层即整个运用程序所能提供的所有服务,数据操作类为业务层服务,完成所有对数据库的操作,提供业务层完成其功能所需要的所有数据,实体类是对运用程序所涉及到的实体进行抽象后的对象,是整个程序的数据基础。 1.5 论文的工作和安排 本次设计的目标是,开发一个图书馆借阅管理系统。借助该系统,管理员可以很方便的管理图书馆的信息资料,规范化的管理读者用户,设定不同用户权限,并能通过互联网向读者提供在线查询服务,方便读者的使用。 论文设计和实现了图书管理系统,可以根据用户的不同权限,对图书馆系统的各种信息进行添加、删除、修改或查询等操作。论文分为五个部分: 第一章即本章绪论,简述图书馆借阅管理系统这个课题的开发背景及意义。 第二章开发工具及运行环境,本系统使用Myeclipse Tomcat MySQL等工具,在Windows下,装有JDK运行环境即可运行。 第三章为系统需求分析,本章中明确了系统需要实现的功能,分析了系统的用例,并介绍根据系统的需求选择的开发工具和技术的概况。 第四章是总体设计,详细描述了本系统中数据库的设计情况,并给出了系统总体界面的设计方案,同时提供了个主要界面运行的参考图片,以更直观了解系统的实现情况。 第五章为程序设计与编码各主要功能模块的实现方法和部分关键代码,。 最后为结束语,为此次毕业设计做一个总结,总结所获得的经验和体会。 2.开发工具及运行环境 2.1 软件环境? Struts是Apache 基金会Jakarta 项目组的一个Open Source 项目,它采用MVC模式,MVC模式由三部分组成。其中M代表模型Model,是应用对象,V代表视图View,是页面上的显示,C代表控制器Controller,是处理用户的请求和业务方法。MVC模式能够很好地帮助java 开发者利用J2EE开发Web应用。Struts 是一个面向对象设计,将MVC模式"分离显示逻辑和业务逻辑"的能力发挥得淋漓尽致。 Struts跟Tomcat等诸多Apache项目一样,是开源软件,这是它的一大优点,使开发者能更深入的了解其内部实现机制。 MySQL是一个关系型数据库管理系统,是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。由于其体积小、速度快,一般中小型网站的开发都选择 MySQL 作为数据库。 Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱,成为目前比较流行的Web 应用服务器。 2.2 软件环境的安装和配置 软件安装都很简单,其中MyEclipse、JDK和MySQL的安装软件是可运行程序。只需直接安装即可。Tomcat的安装文件是压缩软件包,只需把压缩文件解压到本地磁盘即可,安装好后需在操作系统中设置JDK以及Tomcat的环境变量。 3.系统需求分析 3.1基础信息维护 “基础信息维护”是对图书馆的基础信息、书籍信息以及常用词库等项目进行初始化设置,这些设置一般是不轻易改动,包含的功能模块如图3-1所示。 图书馆名称 图书馆负责人 图书馆简介说明 证件有效期 超期罚款金额 办证费用 书架编号 书架名称 高级管理员 图书馆操作员 普通用户 图3-1基础信息维护功能模块 3.2 读者管理 “读者管理“用于管理读者相关的信息,包括的功能模块如图3-2所示。 图3-2 读者管理功能模块 3.3图书管理 图书管理”用于管理图书相关的信息,包含的功能模块如图3-3所示。 图3-3 图书管理功能模块 3.4图书流通管理 图书流通管理用于管理图书流通环节相关的操作,包含如图3-4所示的功能模块。 图3-4 图书流通管理功能模块 3.5统计分析管理 统计分析管理为图书馆管理人员的分析决策提供依据,包含的功能模块如图3-5所示。 图3-5 统计分析功能模块 3.6 用例图 管理员用户用例图:如下图所示 图3-6 超级管理员用例图 图3-7 普通管理员用例图 3.7 业务流程 系统流程图如图3-8所示。 图3-8 系统流程 4.总体设计 4.1总体架构 系统功能实现设计架构(如图4-1) 图4-1 系统架构图 4.2系统功能模块设计 需要强调的是,由于用户登录和权限管理的功能各个系统实现的方法是一致的,详细介绍的功能模块如图4-2所示。 图4-2详细介绍的功能模块 4.3数据库设计 数据库由DBMS(数据库管理系统)处理,DBMS则由开发人员和用户通过应用程序直接或间接地使用。它主要包括四个要素:用户数据、元数据、索引和应用元数据。 图书馆管理系统,顾名思义是对图书馆的管理而设计的一个应用程序。所以他需要收集大量的数据信息。对该设计的需求分析可以得出一下数据信息:首先,数据库中要有图书、读者的类型信息,图书、读者的相关信息,还要有读者借阅、归还图书的信息记录,以及管理员的信息等。具体的表信息如下: 表名称 数据表用途 tb_bookinfo图书信息 记录图书的基本信息 tb_bookcase图书书架 记录并保存书架号等特征 tb_purview 用户权限信息 记录保存用户权限信息 tb_borrow图书借阅记录 对图书借阅信息的记录 tb_giveback图书归还记录 对图书归还信息的记录 tb_publishing出版社信息 记录并保存出版社信息 tb_manager管理员信息 记录并保存管理员信息 tb_parameter参数信息 记录并保存相关参数 tb_booktype图书类型 记录并保存图书类型信息 tb_library图书馆基本信息 记录并保存图书馆基本信息 表4.1图书管理系统数据表清单 因为整个系统涉及的实体和属性较多,限于篇幅不能也没有必要一一列举。图4-3为图书馆管理系统关键实体的E-R 图。其他实体与基本信息表间的对应关系都是类似的。 图4-3系统E-R图 4.4系统类图设计 图书与图书类型图书书架之间的类图如图4-4所示: 图4-4图书类图 读者,类型,管理员之间的类图关系如图4-5所示: 图4-5读者类图 4.5登录界面设计 登录界面是系统与用户的主要交互界面,其设计的好坏直接影响系统的性能,这里力求达到界面友好、信息直观和操作方便。 本程序运行后的效果如图4-6所示。首先是登陆页面。 图4-6登录页面 登陆后显示的是主页,主页显示图书的借阅排行榜。如图4-7所示,其显示图书的详细信息,点击窗体下方的more菜单选项会显示所有的图书借阅情况,方便管理员了解图书的详细借阅情况。 图4-7首页 选择图书馆信息菜单,,可以设置图书馆的相关信息,如图4-8所示 图4-8图书馆信息设置页面 选择管理员设置菜单可以添加管理员并修改管理员的权限,建立拥有不同等级权限的管理员,以满足现实的需要,也可以删除某些管理员的身份,是操作更人性化,合理化。如图4-9所示 图4-9管理员设置页面 选择参数设置可以设置办证费与有效期限,只有办理证件后才可以在本图书馆借阅,续借,归还图书。如图4-10所示。 图4-10参数设置页面 选择书架设置菜单可以设施书架的相关信息,着同样是不可缺少的,图书馆的藏书都需要分门别类的放在不同的书架上,这样才方便查找和整理图书,功能模块如图4-11所示,在这里可以对书架进行添加,修改,删除操作,灵活方便。 图4-11书架设置页面 选择[读者管理]读者类别设置菜单命令,进入读者类别设置功能窗体,在其中管理读者的类别信息,如图4-12所示。该表中显示的是读者的各个类别的类别名称,可以借阅的图书册数。如果要添加读者类别或修改读者的信息只需单击添加读者类型信息按钮或修改按钮即可。也可单击删除按钮,即可删除选中的单条记录。 图4-12读者类型设置页面 点击修改后,系统则会弹出修改读者类型的窗体,如图4-13所示 弹出的页面包含读者类型现有的信息,此功能可以修改读者的类型名称与可借图书数量。 图4-13修改读者类型设置页面 点击添加,此功能可以添加新读者类型以及设置此读者可借数量。如图4-14所示。 图4-14读者档案管理页面 单击修改,可以从中更改读者的姓名、电话等详细信息如图4-15所示,。 图4-15修改读者信息页面 在设置好读者的信息之后,就可以开始对图书的类别和信息进行管理。选择图书管理图书类别设置菜单命令,就可以进入图书类别设置功能窗体,基本与读者类别设置窗体类似,这个设置的是书籍的类别信息。如下图4-16所示。 图4-16图书类型设置页面 单击添加图书类型信息以及设置图书可借天数,可以添加新的图书类型,如图4-17所示 图4-17添加图书类型页面 选择图书管理→档案管理菜单,则可以进入设置和管理窗口,见图4-18, 图4-18图书档案管理页面 单击添加图书信息选项,就可以进入添加图书信息功能窗体,如图4-19所示, 图4-19添加图书信息页面 完成了读者信息和图书信息的管理之后,就可以进行图书的借阅、归还等操作。可以选择图书借阅操作,进入图书借阅共能,如图4-20所示。 图4-20图书借阅页面 选择流通管理图书归还菜单命令,将显示如图4-21所示,完成归还图书的功能。 图4-21图书归还页面 当图书归还时间到时还可以进行续借操作,如图4-22所示,。 图4-22图书续借页面 选择系统查询图书档案查询菜单,会弹出图书馆所有藏书的信息,当我们还提供了一些查询条件以缩小管理员的现实需要,比如:书名,条形码,图书类型,出版社等。如图4-23所示: 图4-23图书档案查询页面 选择图书借阅查询功能可以查到你所需要的图书的信息,查看其是否已经归还以及借阅者的信息。如图4-24所示 图4-24图书借阅查询页面 若管理员的密码已经泄密可以修改密码,以确保图书馆信息的安全。效果如图4-25所示。 图4-25更改口令页面 5.系统代码设计 5.1系统开发平台 MyEclipse,是在eclipse 基础上加上自己的插件开发而成的功能强大的企业级集成开发环境,主要用于Java、Java EE以及移动应用的开发。MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持相当不错。 MyEclips它主要由项目,工具项目和技术项目三个项目组成,具体包括四个部分组成——MyEclipse Platform、JDT、CDT和PDE.JDT支持Java开发、CDT支持C开发、PDE支持插件开发。 5.2关键问题代码实现 添加管理员信息,具体代码实现如下: private ActionForward managerAdd(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { ManagerForm managerForm = (ManagerForm) form; managerForm.setName(managerForm.getName()); managerForm.setPwd(managerForm.getPwd()); int ret = managerDAO.insert(managerForm); if (ret == 1) { return mapping.findForward("managerAdd"); // } else if (ret == 2) { request.setAttribute("error", "已存在此管理员信息,请勿重新添加!"); // return mapping.findForward("error"); } else { request.setAttribute("error", "添加管理员基本信息失败!"); return mapping.findForward("error"); } } 添加图书信息,具体实现代码为: private ActionForward bookAdd(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response){ BookForm bookForm = (BookForm) form; bookForm.setBarcode(bookForm.getBarcode()); bookForm.setBookName(bookForm.getBookName()); bookForm.setTypeId(bookForm.getTypeId()); bookForm.setAuthor(bookForm.getAuthor()); bookForm.setTranslator(bookForm.getTranslator()); bookForm.setIsbn(bookForm.getIsbn()); bookForm.setPrice(bookForm.getPrice()); bookForm.setPage(bookForm.getPage()); bookForm.setBookcaseid(bookForm.getBookcaseid()); //获取系统日期 Date date1=new Date(); java.sql.Date date=new java.sql.Date(date1.getTime()); bookForm.setInTime(date.toString()); bookForm.setOperator(bookForm.getOperator()); int a=bookDAO.insert(bookForm); if(a==1){ return mapping.findForward("bookAdd"); }else if(a==2){ request.setAttribute("error","该图书信息已经添加!"); return mapping.findForward("error"); }else{ request.setAttribute("error","图书信息添加失败!"); return mapping.findForward("error"); } } 控制层完全是由struts框架来完成的,在表述层提交参数后,struts会根据提交的路径把参数传递到相应的action中,框架会自动根据actionform来自动封装提交的信息;而action的返回值是ActionForward,框架会根据名字自动找到对应的路径,然后转到相应的页面。而想要实现上述功能,则需要配置文件的正确书写。此处只列举了部分的struts配置文件。 <action name="readerTypeForm" path="/readerType" scope="request" type="com.action.ReaderType" validate="true"> <forward name="readerTypeQuery" path="/readerType.jsp" /> <forward name="readerTypeAdd" path="/readerType_ok.jsp?para=1" /> <forward name="readerTypeQueryModify" path="/readerType_Modify.jsp" /> <forward name="readerTypeModify" path="/readerType_ok.jsp?para=2" /> <forward name="readerTypeDel" path="/readerType_ok.jsp?para=3" /> <forward name="error" path="/error.jsp" /> </action> <action name="bookTypeForm" path="/bookType" scope="request" type="com.action.BookType" validate="true"> <forward name="bookTypeQuery" path="/bookType.jsp" /> <forward name="bookTypeAdd" path="/bookType_ok.jsp?para=1" /> <forward name="bookTypeQueryModify" path="/bookType_Modify.jsp" /> <forward name="bookTypeModify" path="/bookType_ok.jsp?para=2" /> <forward name="bookTypeDel" path="/bookType_ok.jsp?para=3" /> <forward name="error" path="/error.jsp" /> </action> 这是相对于操作读者类型和图书类型action的配置,此配置文件在初始化时会被存放在map集合中,然后struts框架会根据表述层提交的路径找到这两个action,进而对参数作出一系列的操作。 数据模型层主要用来操作数据,从控制层接收对象,然后从数据库中找出需要的数据进行一系列的操作后,返回给控制层其所需要的数据,在DAO层,会在连接数据库后,根据需要对各个表进行增删改查等操作。例如,借阅图书时,要先获得系统时间,然后根据借阅者的权限,计算其取药归还的时间,然后把其写入数据库中,以供查询时使用,具体代码如下,这里只列举部分代码: public class BorrowDAO { ConnDB conn = new ConnDB(); public int insert() { String sql = "INSERT INTO tb_borrow (bookid) vlaues(1) "; int ret = conn.executeUpdate(sql); return ret; } //*********************图书借阅***************** Public int insertBorrow(ReaderForm readerForm,BookForm bookForm,String operator){ Date dateU=new Date();//获取系统日期 java.sql.Date date=new java.sql.Date(dateU.getTime()); String sql1="select t.days from tb_bookinfo b left join tb_booktype t on b.typeid=t.id where b.id=" bookForm.getId() ""; ResultSet rs=conn.executeQuery(sql1); int days=0; try { if (rs.next()) { days = rs.getInt(1); } } catch (SQLException ex) { } String date_str=String.valueOf(date);//计算归还时间 String dd = date_str.substring(8,10); try { if (rs.next()) {days = rs.getInt(1); } } catch (SQLException ex) { } String date_str=String.valueOf(date);//计算归还时间 String dd = date_str.substring(8,10); String DD = date_str.substring(0,8) String.valueOf(Integer.parseInt(dd) days); java.sql.Date backTime= java.sql.Date.valueOf(DD); String sql ="Insert into tb_borrow (readerid,bookid, borrowTime,backTime,operator) values(" readerForm.getId() "," bookForm.getId() ",'" date "','" backTime "','" operator "')"; int falg = conn.executeUpdate(sql); System.out.println("添加图书借阅信息的SQL:" sql); conn.close(); return falg; } //**************************图书归还***************************** public int back(int id,String operator){ String sql0="SELECT readerid,bookid FROM tb_borrow WHERE id=" id ""; ResultSet rs1=conn.executeQuery(sql0); int flag=0; try { if (rs1.next()) { //获取系统日期 Date dateU = new Date(); java.sql.Date date = new java.sql.Date(dateU.getTime()); int readerid=rs1.getInt(1); int bookid=rs1.getInt(2); String sql1="INSERT INTO tb_giveback (readerid,bookid,backTime ,operator) VALUES(" readerid "," bookid ",'" date "','" operator "')"; int ret=conn.executeUpdate(sql1); if(ret==1){ String sql2 = "UPDATE tb_borrow SET ifback=1 where id=" id ""; flag = conn.executeUpdate(sql2); }else{ flag=0; } } } catch (Exception ex1) {} conn.close(); return flag; } } 这是操作与图书借阅相关的参数的类,它从数据库中查找,添加,“删除”与图书借阅相关的信息。数据模型层在数据库层之上,专事管理数据库的操作。 结论 本系统是一个面向小型图书管理系统,具有一定实用性的数据库信息管理系统。它主要完成对图书馆的管理,包括进入添加新书、完成借阅与归还、信息查询管理。本系统采用当前流行的面向对象的开发语言java来完成整个系统的设计,在数据库的设计上利用了MySQL的便利性和实用性。 本系统具有相当的实用功能。在查询方面,系统实现了多条件任意字段的模糊查询,同时在分类查询上实现了动态生成。在管理方面,系统较好地实现了管理员注册和密码修改等各项功能。 系统在设计过程中不可避免地遇到了各种各样的问题,由于我们缺乏团队合作精神,在系统开发过程中很多问题不能有效的解决,同时由于自身知识的缺乏导致有些功能实现不合理,给系统个的维护带来不便。由于时间关系,系统功能实现不够完善,使用不是很方便。 这些都是需要完善的地方,该系统离实际使用也还有相当的距离,需要我进行不断地补充和完善,有很多不完美的地方,有许多功能没有实现,借阅信息管理还不完善,没有将删除的信息进行库存管理,不便于日后的查询。数据库内容不多。而且无法实现网络操作,细节之处不够完善。由于时间仓促,一些好的设计思想还没有实现,我将进一步完善本系统功能。本系统还有待需要进一步改正的地方,请提出宝贵意见。 这次项目的开发是利用java程序设计语言基于J2EE平台,Struts框架以及jsp技术和MySQL数据库开发的一个基于web的小型图书馆管理系统,该系统是一个基于B/S多层结构的系统。通过本次毕业设计我学到了不少新的东西,并且从整体上对流程的概念有了一个更深层次的模型印象,对软件开发的整体设计思路和一些公认的方法有了全新的理解。同时也发现了大量的问题,有些在设计过程中已经解决,有些还有待今后慢慢学习。只要学习就会有更多的问题,有更多的难点,但也会有更多的收获。 虽然该系统的功能还不是很完善,但是在设计过程中所学到的东西是这次毕业设计的最大收获和财富,使我终身受益。 致谢 毕业设计已经接近了尾声,这也意味着大学生活就要结束了,学生生涯一晃就过去了,回望走过的路,心中难以释怀,当完成这篇毕业设计时,有一种难以言喻的心情,感慨良多。? 首先,要感谢我的导师章玲老师。虽然在这次设计的过程中出现了很多问题,但是在老师的指导与自己的努力之下最终完成本次设计了。在整个设计过程中章玲老师给了我很大的的帮助,没有她的尽心指导和严格的要求,也不会顺利完成这次设计。在遇到难题的时候,先在各种资料中寻求帮助,倘若自己没办法解决难时,便会向章玲老师寻求帮助,而章玲老师无论何时,总会抽出时间来指导,帮助一起解决出现的问题。虽然章玲老师工作繁多,但从论文选题到搜寻资料,确定论文的提纲,中期论文内容的检阅与修改,后期调整论文格式等各个环节中都给予了指导。在此谨向章玲老师致以诚挚的谢意与崇高的敬意。? 其次,还要感谢这两年来教受我知识的每位老师们,毕业论文能够顺利完成,你们也都功不可没。还要向这两年大学生活期间所有帮助过我的同学们以及各位朋友们说一声谢谢。 最后,感谢我的父母。?? 撰写毕业论文是一次再系统学习的过程,毕业论文的完成,同样也意味着新生活的开始。希望在将来的生活中继续追逐最初的梦想,永不放弃。 参考文献 [1]林信良(台湾),JSP & Servlet学习笔记,清华大学出版社,2012.5? [2]陆舟,Struts2技术内幕,机械工业出版社,2012.1 [3] [美] Arun Gupta著,韩陆 译,Java EE 7精粹,人民邮电出版社,2015.02 [4]彭灿华,魏士伟 编.J2EE项目开发与设计,中国铁道出版社,2013.2 [5]?电子工业出版社,程序员- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 J2EE 图书馆 管理 系统 设计

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【可****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【可****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文