J2EE课程设计报告(共22页)_第1页
J2EE课程设计报告(共22页)_第2页
J2EE课程设计报告(共22页)_第3页
J2EE课程设计报告(共22页)_第4页
J2EE课程设计报告(共22页)_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

1、精选优质文档-倾情为你奉上J2EE课程设计基于MVC设计模式的图书管理系统专业:计算机科学与技术班级:姓名: 学号:专心-专注-专业目 录摘 要本系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。本文对后台数据库设计采用MySQL语言开发,要求建立数据的一致性和完整性,并对此数据库技术进行了较深入的学习和应用;而对前端应用程序的设计则要求应用程序功能的完备,易用等的特点,采用当今最流行的也是最有前途的面向对象语言Java开发,严格遵循MVC设计模式。本系统界面设计友好、美观,数据存储安全、可靠,操作简单、不受平台约束,而且采用B/S结构,只需装有IE

2、浏览器就可运行,十分节省资源。在管理上做到数据的信息化、快速化和智能化。稳定的系统性能,给用户和管理员时刻带来流畅舒适的体验,在信息化日益普及的今天,中小型图书馆中必备的管理工具。本系统首先介绍的是开发环境及所用到的基础知识。主要完成对图书馆管理系统的需求分析、功能模块划分、数据库模式分析,并由此设计了数据库结构和应用程序。最后介绍了图书馆的馆藏资源数字化,管理和服务计算机化和网络化。关键词: 图书管理; MySQL数据库; Java; MVC设计模式引 言图书作为一种信息资源,用户阅读的资料繁多,包含很多的信息数据的管理,现今,有很多的图书管理都是手工的,尚未使用计算机进行管理。根据调查得知

3、,他们以前对图书管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书信息和借出书情况(如书籍信息、读者信息、借出的书的数量等)的统计和核实等往往采用对书号的人工检查进行,对读者的权限等用人工计算、手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏规范的系统管理手段。尽管有的商店、企业有计算机,但是尚未用于管理,没有发挥它的效力,资源闲置比较突出,这就是图书管理系统的开发的基本环境1。由于图书管理在数据处理上是手工操作,工作量大,出错率高,出错后不易更改。图书管理采取手工方式对图书情况进行人工管理,由于信息比较多,图书信息的管理工作混乱而又复杂,一

4、般借阅情况是记录在借书证上,图书的数目和内容记录在文件中,管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力,如要对很长时间以前的图书进行更改就更加困难了。基于这些问题,我认为有必要建立一个图书管理系统,使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。随着网络化学校管理区域的发展,学校的建设管理在我国得到越来越迅猛的发展,在读者管理制度上便有更高的要求,如何制定一套能够适合大多数图书管理的应用平台是现在读者管理人员亟待解决的问题,本课题研究从实际需求情况出发

5、,根据院校现有的硬件设施,改变以往固定的管理模式,做到跟读者无距离的交流、登记,为他们提供更为方便、直接的服务,对院校的管理工作进行了科学、规范的管理,调动读者管理以及工作人员的积极性,提高他们的工作效率,对读者的服务和智能化管理工作是一个推动。而调动全民工作积极性,也便于领导实施监督管理,提高图书管理工作的业务素质。同时也可以加强与读者的交流,便于读者对院校的硬件设施以及环境做更详细的了解,实现无距离接触,无距离登记,真正建设成适应新形势下要求的图书信息管理系统,为院校读者的管理系统带来不可估量的利润价值。图书管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序

6、的开发两个方面。对于前者要求建立起数据一致性和完整性强,数据安全性好的库;而对于后者则要求应用程序功能完备,易使用等特点。经过分析如此情况,我们使用SUN公司的JAVA作为前台开发语言,它是一种跨平台、适合于分布式计算环境的面向对象编程语言,以MYSQL 作为后台数据库。这次我的毕业设计的课题是“基于MVC设计模式的图书管理系统”,目的是对学校图书信息进行全面的规划与管理,帮助学校做到:完善体系管理加强流程控制实现量化管理,过渡到以读者为本的管理科学管理读者的信息,优化分类,全面读者的情况科学管理图书的各种信息,优化分类,使读者对图书信息明确化1 系统概述1.1 系统功能本图书馆管理信息中信息

7、处理总量大,种类繁多,手段落后的现状。所涉及的处理内容包括:开发一个能够及时处理图书信息更新的管理系统;开发一个为广大读者提供信息服务的信息查询系统,功能包括图书查询、增加和删除等;开发一个系统信息管理系统,进行相关用户的增加、权限的设置等。本图书馆信息管理的问题,目标是使图书馆信息管理系统在管理上也能做到数据的信息化、快速化和智能化。在每一模块中,必须做到良好的界面,并尽量做到在单表或多表中根据单一或复合条件进行查询及修改等功能,能够对输入的数据做智能、快速处理。我做的这个图书馆管理系统主要包括:图书管理、用户管理、图书查询等模块。1.2 系统特点本系统适合于各种中小型图书馆,可以对图书馆中

8、各种信息或者资源进行全方位多角度的管理。本系统界面友好、操作简单、不受平台约束,而且采用B/S结构,只需装有IE浏览器就可运行,十分节省资源。数据存储安全、可靠。查询功能很强大,保证了数据查询的灵活性。为管理员提供灵活、方便的权限设置功能,明确了整个系统的管理分工。本系统还采用人机对话的操作方式,方便管理员的日常操作。1.3 开发运行环境硬件平台:CPU:P41.8GHz以上;内存:512MB以上;磁盘空间:1G以上。软件平台:操作系统:Windows 2000/XP/Vista;开发语言:Java;开发工具:MyEclipse 6.0;数据库:MySQL 5.1;服务器:Tomcat 6.0

9、或者以上版本;浏览器:IE6.0及以上版本;分辨率:最佳效果1024像素*768像素。1.4 可行性分析开发任何一个基于计算机的系统,都会受到时间和资源上的限制。因此,在接受项目之前必须根据客户可能提供的时间和资源条件进行可行性研究。它可以避免人力、物力和财力上的浪费。可行性研究与风险分析在许多方面是相互关联的。项目风险越大,开发高质量软件的可行性越小。系统可行性分析包括:技术的可行性、经济可行性、操作可行性和社会效益可行性从这几个方面论述。1.4.1技术可行性本系统采用了MyEclipse开发工具和MySQL数据库进行开发,采用java作为开发语言,来实现安全的图书管理系统,并且降低开发难度

10、。页面使用JSP作为表示层,并使用JavaScript来进行表单验证。为了使页面更加友好、流畅,还结合了Struts标签和CSS。在页面的使用技巧上,本程序采用了动态包含的方式,使得页面之间可以动态同步的显示。以及Apache Tomcat服务器的简易安装和稳定的运行对于系统的构建、运行和维护都可以轻松地完成,所以技术上是可行的5。1.4.2经济可行性在提出开发这个管理系统前,一方面是锻炼自已的能力,另一方面是了解当今比较流行的管理系统的知识,本系统具有针对性,可以有效地减少资金的投入,本系统所需运行环境都是网上免费开源的,只需下载安装即可使用没有额外的一些支出,而且后期维护阶段也不需要太多的

11、花费,总体投入比较小,所以经济上是可行的。1.4.3操作可行性本系统界面友好、操作简单、不受平台约束,而且采用B/S结构,只需装有IE浏览器就可运行,十分节省资源。本系统性能稳定,即使是机器配置较低的老图书馆也可放心使用。所以能够给用户带来流畅舒适的体验,所以操作上是可行的。1.4.4社会效益可行性对个人的图书管理工作进行了科学、规范的管理,提高图书管理工作的效率;同时也可以加强与读者的交流,便于读者对院校的硬件设施以及环境做更详细的了解,实现无距离接触,无距离登记,真正建设成适应新形势下要求的图书信息管理系统,所以社会效益上也是可行的。2 技术选择2.1 数据库技术本系统选用MySQL数据库

12、,因为MySQL是开放源代码的,而且其速度、可靠性和适应性而备受关注。大多数人都认为在数据量不是十分庞大的情况下,MySQL是管理内容最好的选择。MySQL是一个高性能、多线程、多用户、建立在客户服务器结构上的关系数据库管理系统,通过在组成数据库的表中创建关系来更进一步地处理数据,专门为了速度和稳定性而设计。在过去的几年中,它已经成为线上和线下适合数据库驱动的应用程序最受欢迎的数据库管理系统之一。MySQL始终围绕三个基本原则而设计,它们是:性能、可靠性和容易使用。严格按照这些准则产生了一个价格便宜而富有特色、适应标准而容易扩展、速度快而效率高的RDBMS,使MySQL成为开发者和管理者建立、

13、维护和配置复杂应用程序的完美工具。MySQL的特性:MySQL性能显著地部分原因是它的允许多个并发数据库访问的完全多线程体系结构,这个多线程体系结构式MySQL引擎的核心,允许多个客户同时读取同一个数据库,并且提供了大量的性能增益。MySQL代码也以模块化、多层次方式构建,为连接和索引这样复杂的任务提供了最小的冗余和特殊的优化。2.2 JAVA 简介Java是Sun公司推出的一种跨平台的程序设计语言。随着Java Servlet的推出,Java在电子商务方面开始崭露头角,JSP(Java Server Page)技术的推出,更是让Java成为基于Web的应用程序的首选开发工具,目前的Java技

14、术已成为所有大型电子商务项目的必然选择。Java非常适合于企业网络和Internet环境,现在已成为Internet中最受欢迎、最有影响的编程语言之一4。Java程序也可以获取网络上结点的图象、声音、HTML文档及文本等资源,并可以对获得的资源进行处理。Java 有许多值得称道的优点,如简单、面向对象、分布式、解释性、可靠、安全、结构中立性、可移植性、高性能、多线程、动态性等10。2.3 MVC概述MVC(Model-View-Controller)即模型层-视图层-控制器层是80年代出现的一种软件设计模式,它强制的把应用程序的输入、处理以及输出分开。MVC模式将应用程序分为3个核心部分:模型

15、层、视图层和控制层,这3个部分负担不同的任务。视图层视图(View)是应用程序中用户界面相关的部分,视图向用户显示数据,并能接收用户的输入数据,但它并不进行任何实际的业务处理。 模型层模型(Model)是应用程序的主体部分。模型表示业务数据和业务逻辑,一个模型可以为多个视图提供数据,提高了应用的可重用性。控制器层控制器(controller)工作就是根据用户请求,调用相应的模型组件处理请求,然后调用相应的视图显示模型返回的数据。MVC处理过程首先,控制层接受用户的请求并决定应该调用哪个模型来进行处理;其次,模型根据用户请求进行相应的业务逻辑处理并返回数据;最后,控制层调用相应的视图来格式化模型

16、反回的数据并通过视图呈现给用户。MVC的优点多个视图能共享一个模型;模型是自包含的 ;控制层提高了应用程序的灵活性和可配置性。2.4 Struts概述Struts框架工具是Apache基金会Jakarta 项目中推出的一个子项目。Struts在英文中是支架、支撑的意思,这也体现出Struts在开发Web应用程序过程所起到的重要作用,Struts为Web应用提供了通用的框架9,让开发人员可以把主要精力集中在如何解决实际业务问题上,与此同时Struts框架也允许开发人员根据实际需要进行扩展和定制,从而可以更好的适应用户的需求。采用Struts可以简化遵循 MVC 设计模式的Web应用的开发工作,很

17、好地实现代码重用,使开发人员从一些繁琐的工作中解脱出来,快速开发能够充分发挥JSP/Servlet优点、并具有强可扩展性的Web应用8。总之, Struts 的出现使得 Web 应用的开发过程大大简化,从而能够缩短开发周期、提高开发效率2。 Struts架构一经推出,即受到Java开发群体的广泛重视,并日渐成为Java创建Web应用开发的最流行的框架工具,精通Struts架构已经成为Java Web程序员必备的技能。 Struts框架优点:  Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点。使开发者能更深入的了解其内部实现机制。除此

18、之外,Struts的优点主要集中体现在两个方面:Taglib和页面导航。Taglib是Struts的标记库,灵活动用,能大大提高开发效率。关于页面导航,我认为那将是今后的一个发展方向,这样可以使系统的脉络更加清晰。Struts框架缺点:  Taglib是Struts的一大优势,但对于初学者而言,却需要一个持续学习的过程,甚至还会打乱你网页编写的习惯,但是,当你习惯了它时,你会觉得它真的很棒6。  Struts将MVC的Controller一分为三,在获得结构更加清晰的同时,也增加了系统的复杂度。 Struts从产生到现在还不到半年,但已逐步越来越多运用于商业软件。

19、虽然它现在还有不少缺点,但它是一种非常优秀的J2EE MVC实现方式7。3 系统总体设计3.1 项目规划根据个人日常图书管理工作的需求和管理流程,该系统实施后,应达到以下目标。界面设计友好、美观,数据存储安全、可靠;基本信息设置保证的图书信息和用户信息的分类管理;实现了图书信息管理和用户信息管理;强大的查询功能,保证数据查询的灵活性;实现对图书的全部数据信息管理;提供增加的功能,保证系统应用的广泛性,并设置用户密码保证安全性;系统最大限度地实现了易维护性和易操作性;提供灵活、方便的权限设置功能,使整个系统的管理分工明确;采用人机对话的操作方式,方便管理员的日常操作。图书管理是基础性的

20、管理工作。系统开发的总体任务是实现各种信息的系统化、规范化和自动化。系统功能分析是在系统开发的总体任务的基础上完成。图书管理系统是一个典型的数据库应用程序,由图书管理、用户管理、图书查询等模块组成。用户管理:在此区域可以输入用户名称、密码来登录本系统;用户添加。图书管理:主要实现增加新图书、删除图书、修改图书信息等功能。图书查询:主要实现查询全部图书、按条件查询图书等功能。3.2 系统功能结构图书管理系统的功能结构如图1所示。图书馆管理系统用户管理用户添加用户登录增加图书图书管理删除图书修改图书信息图书查询按条件查询图书查询全部图1 系统功能结构图4 系统详细设计4.1 数据库设计设计数据库系

21、统时应该首先充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。数据库设计一般包括如下几个步骤:数据库需要分析数据库概念结构设计数据库逻辑结构设计数据库需求分析用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入,收集基本数据、数据结构以及数据处理的流程,为后而后具体设计打下基础。4.2 数据库概念结构设计根据各图书管理信息的总结与归纳,本系统中所包含的信息为:图书信息、用户信息。可将这些信息抽象为下列系统所需要的数据项和数据结构:用户信息表(编号,用户名称,密码,管理者标记)图书信息表(书号,书名,出版社,出版时间,作者,图书价格)

22、4.3 数据库物理结构设计根据数据库各表的信息和关联,可以设计出2张数据表,每个表格表示在数据库中的一个表。主要数据表的结构用户信息表(manager)主要用来保存用户信息。该表中的字段为编号,用户名称,密码,管理者标记。其表结构如表1所示。表 1 用户信息表字段名称数据类型Null主/外键描述useridVARCHAR(45)N主键编号usernameVARCHAR(45)N否用户名称passwordVARCHAR(45)N否密码managerVARCHAR(45)N否管理者标记图书信息表(bookmark)主要用来保存图书信息。该表中的字段为:书号,书名,出版社,出版时间,作者,图书价格等

23、信息。其表结构如表2所示。表 2 图书信息表字段名称数据类型Null主/外键描述booknameVARCHAR(30)N主键书名bookidVARCHAR(70)Y否书号pressINT(10)unsigncdedY否出版社booktimeVARCHAR(30)Y否出版时间authorVARCHAR(30)Y否作者bookpriceVARCHAR(20)Y否图书价格5 系统功能具体实现 5.1 数据库连接数据库连接及操作类通常包括得到一个Connection对象的方法getConnection()、关闭指定的结果集的方法closeResultSet ()、关闭指定的Statement的方法cl

24、oseStatement ()和关闭连接的方法closeConnection ()。import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class Process private static String url = "jdbc:mysql:/localhost:3306/Information?useUnicode=true&charac

25、terEncoding=gb2312"private static String user = "root"private static String password = "root"public static Connection getConnection() /得到一个Connection对象Connection conn = null;try Class.forName("com.mysql.jdbc.Driver");conn = DriverManager.getConnection(url, user, pa

26、ssword); catch (ClassNotFoundException e) e.printStackTrace(); catch (SQLException e1) e1.printStackTrace();return conn;public static void closeResultSet(ResultSet rs) /关闭指定的结果集if (rs != null) try rs.close(); catch (SQLException e) public static void closeStatement(Statement stmt) /关闭指定的Statementif

27、(stmt != null) try stmt.close(); catch (SQLException e) public static void closeConnection(Connection conn) /关闭连接if (conn != null) try conn.close(); catch (SQLException e) 5.2 用户管理模块的实现5.2.1功能说明本模块有一个基本类UserBean功能:1、用户登录 2、用户添加5.2.2类、方法设计实现该功能模块所涉及的重要类和方法:编号类名功能1UserBeanDao层实体接口类,用户的基本类2loginServlet

28、用户登录Servlet3registerServlet用户添加ServletUserBean类属性名数据类型属性说明useridString用户编号usernameString用户名称passwordString密码managerString管理员标记返回值方法名功能参数说明StringgetUserid返回用户编号无voidsetUserid设置用户编号StringStringgetUsername返回用户名称无UserBeangetUsername返回某个编号对应的用户名StringvoidsetUsername设置用户名称StringStringgetPassword返回密码无voids

29、etPassword设置密码StringStringgetManager返回管理员标记无voidsetManager设置管理员标记Stringvoidregister注册用户信息无booleanisHere判断用户编号是否存在StringloginServlet返回值方法名功能参数说明voiddoGet用户登录HttpServletRequest request;HttpServletResponse responseregisterServlet返回值方法名功能参数说明voiddoGet注册新用户HttpServletRequest request;HttpServletResponse r

30、esponse5.3 图书管理模块的实现5.3.1功能说明本模块有一个基本类JavaBean功能:1、增加图书 2、删除图书 3、修改图书信息5.3.2类、方法设计实现该功能模块所涉及的重要类和方法:编号类名功能1JavaBeanDao层实体接口类,图书的基本类2insertServlet增加图书Servlet3deleteServlet删除图书Servlet4upDateServlet修改图书信息ServletJavaBean类属性名数据类型属性说明booknameString图书名称bookidint图书编号pressString出版社booktimeString出版时间authorStr

31、ing作者bookpricedouble图书价格返回值方法名功能参数说明StringgetBookname返回图书名称无voidsetBookname设置图书名称StringintgetBookid返回图书编号无voidsetBookid设置图书编号intStringgetPress返回出版社无voidsetPress设置出版社StringStringgetBooktime返回出版时间无voidsetBooktime设置出版时间StringStringgetAuthor返回作者无voidsetAuthor设置作者StringdoublegetBookprice返回图书价格无voidsetBoo

32、kprice设置图书价格doublevoidinsert增加图书无booleanisHere判断图书是否存在Stringintdelete删除图书StringintupDate修改图书信息intIntegergetPageCount分页处理时,获取页数无insertServlet返回值方法名功能参数说明voiddoGet向数据库中增加一本图书HttpServletRequest request;HttpServletResponse responsedeleteServlet 返回值方法名功能参数说明voiddoGet从数据库中删除一本图书HttpServletRequest request;

33、HttpServletResponse responseupDateServlet返回值方法名功能参数说明voiddoGet修改数据库中一本图书的信息HttpServletRequest request;HttpServletResponse response5.4 图书查询模块的实现5.4.1功能说明本模块有一个基本类JavaBean功能:1、查询全部图书 2、按编号查询图书 3、按书名查询图书5.4.2类、方法设计实现该功能模块所涉及的重要类和方法:编号类名功能1JavaBeanDao层实体接口类,图书的基本类2FindServlet查询全部图书Servlet3OnlyFindServlet按编号查询图书Servlet4SearchServlet按书名查询图书ServletJavaBean类(属性列表与4.3.2相同)返回值方法名功能参数说明StringgetBookname

温馨提示

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

评论

0/150

提交评论