J2EE课程设计报告

上传人:lis****210 文档编号:174120283 上传时间:2022-12-14 格式:DOCX 页数:25 大小:59.22KB
返回 下载 相关 举报
J2EE课程设计报告_第1页
第1页 / 共25页
J2EE课程设计报告_第2页
第2页 / 共25页
J2EE课程设计报告_第3页
第3页 / 共25页
点击查看更多>>
资源描述
J2EE 课程设计基于MVC设计模式的图书管理系统专业:计算机科学与技术班级:姓名:学号:目录引言错- 误!未定义书签。1 系统概述错误!未定义书签。系统功能错- 误!未定义书签。系统特点错- 误!未定义书签。开发运行环境错- 误!未定义书签。可行性分析 技术可行性 经济可行性 操作可行性 社会效益可行性-错- 误!未定义书签。 错- 误!未定义书签 错- 误!未定义书签 错- 误!未定义书签 错- 误!未定义书签2 技术选择-错误!未定义书签。数据库技术错- 误!未定义书签。JAVA 简介-错- 误!未定义书签。MVC 概述-错- 误!未定义书签。STRUTS 概述-错- 误!未定义书签。3 系统总体设计-错误!未定义书签。项目规划-错- 误!未定义书签。系统功能结构-错- 误!未定义书签。4 系统详细设计-错误!未定义书签。数据库设计错- 误!未定义书签。数据库概念结构设计-错- 误!未定义书签。数据库物理结构设计-错- 误!未定义书签。5 系统功能具体实现-错- 误!未定义书签。用户管理模块的实现错- 误!未定义书签。功能说明-错- 误!未定义书签。类、方法设计错- 误!未定义书签。图书管理模块的实现错- 误!未定义书签。功能说明-错- 误!未定义书签。类、方法设计错- 误!未定义书签。图书查询模块的实现错- 误!未定义书签。功能说明-错- 误!未定义书签。类、方法设计错- 误!未定义书签。摘要本系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护 以及前端应用程序的开发两个方面。本文对后台数据库设计采用MySQL语言 开发,要求建立数据的一致性和完整性,并对此数据库技术进行了较深入的 学习和应用;而对前端应用程序的设计则要求应用程序功能的完备,易用等 的特点,采用当今最流行的也是最有前途的面向对象语言 Java 开发,严格遵 循 MVC 设计模式。本系统界面设计友好、美观,数据存储安全、可靠,操作简单、不受平 台约束,而且采用 B/S 结构,只需装有 IE 浏览器就可运行,十分节省资源。 在管理上做到数据的信息化、快速化和智能化。稳定的系统性能,给用户和 管理员时刻带来流畅舒适的体验,在信息化日益普及的今天,中小型图书馆 中必备的管理工具。本系统首先介绍的是开发环境及所用到的基础知识。主要完成对图书馆 管理系统的需求分析、功能模块划分、数据库模式分析,并由此设计了数据 库结构和应用程序。最后介绍了图书馆的馆藏资源数字化,管理和服务计算 机化和网络化。关键词:图书管理; MySQL 数据库; Java; MVC 设计模式引言图书作为一种信息资源, 用户阅读的资料繁多, 包含很多的信息数据 的管理,现今,有很多的图书管理都是手工的, 尚未使用计算机进行管理。 根据调查得知, 他们以前对图书管理的主要方式是基于文本、 表格等纸介 质的手工处理,对于图书信息和借出书情况(如书籍信息、读者信息、借 出的书的数量等) 的统计和核实等往往采用对书号的人工检查进行, 对读 者的权限等用人工计算、手抄进行。数据信息处理工作量大,容易出错; 由于数据繁多,容易丢失,且不易查找。总的来说,缺乏规范的系统管理 手段。尽管有的商店、企业有计算机,但是尚未用于管理,没有发挥它的 效力,资源闲置比较突出,这就是图书管理系统的开发的基本环境 1。由于图书管理在数据处理上是手工操作,工作量大,出错率高,出错 后不易更改。图书管理采取手工方式对图书情况进行人工管理, 由于信息 比较多,图书信息的管理工作混乱而又复杂, 一般借阅情况是记录在借书 证上,图书的数目和内容记录在文件中, 管理员也只是当时对它比较清楚, 时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查 询费时、费力,如要对很长时间以前的图书进行更改就更加困难了。基于这些问题,我认为有必要建立一个图书管理系统,使图书管理工作 规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和 准确性,能够及时、准确、有效的查询和修改图书情况。随着网络化学校管 理区域的发展,学校的建设管理在我国得到越来越迅猛的发展,在读者管理 制度上便有更高的要求,如何制定一套能够适合大多数图书管理的应用平台 是现在读者管理人员亟待解决的问题,本课题研究从实际需求情况出发,根 据院校现有的硬件设施,改变以往固定的管理模式,做到跟读者无距离的交 流、登记,为他们提供更为方便、直接的服务,对院校的管理工作进行了科 学、规范的管理,调动读者管理以及工作人员的积极性,提高他们的工作效 率,对读者的服务和智能化管理工作是一个推动。而调动全民工作积极性, 也便于领导实施监督管理,提高图书管理工作的业务素质。同时也可以加强 与读者的交流,便于读者对院校的硬件设施以及环境做更详细的了解,实现 无距离接触,无距离登记,真正建设成适应新形势下要求的图书信息管理系 统,为院校读者的管理系统带来不可估量的利润价值。图书管理系统是典型的信息管理系统 ,其开发主要包括后台数据库的 建立和维护以及前端应用程序的开发两个方面。 对于前者要求建立起数据 一致性和完整性强, 数据安全性好的库;而对于后者则要求应用程序功能 完备,易使用等特点。经过分析如此情况,我们使用 SUN 公司的 JAVA 作为前台开发语言,它是一 种跨平台、适合于分布式计算环境的面向对象编程语言,以MYSQL作为后台 数据库。这次我的毕业设计的课题是“基于 MVC 设计模式的图书管理系统”, 目的是对学校图书信息进行全面的规划与管理,帮助学校做到: 完善体系管理 加强流程控制 实现量化管理,过渡到以读者为本的管理 科学管理读者的信息,优化分类,全面读者的情况 科学管理图书的各种信息,优化分类,使读者对图书信息明确化1 系统概述系统功能本图书馆管理信息中信息处理总量大,种类繁多,手段落后的现状。 所涉及的处理内容包括:开发一个能够及时处理图书信息更新的管理系 统;开发一个为广大读者提供信息服务的信息查询系统, 功能包括图书查 询、增加和删除等;开发一个系统信息管理系统,进行相关用户的增加、 权限的设置等。本图书馆信息管理的问题, 目标是使图书馆信息管理系统在管理上也 能做到数据的信息化、快速化和智能化。在每一模块中,必须做到良好的 界面,并尽量做到在单表或多表中根据单一或复合条件进行查询及修改等 功能,能够对输入的数据做智能、快速处理。我做的这个图书馆管理系统主要包括:图书管理、用户管理、图书查询等模块。系统特点本系统适合于各种中小型图书馆,可以对图书馆中各种信息或者资源进 行全方位多角度的管理。本系统界面友好、操作简单、不受平台约束,而且 采用B/S结构,只需装有IE浏览器就可运行,十分节省资源。数据存储安全、可靠。查询功能很强大,保证了数据查询的灵活性。为 管理员提供灵活、方便的权限设置功能,明确了整个系统的管理分工。本系 统还采用人机对话的操作方式,方便管理员的日常操作。开发运行环境硬件平台:CPU:以上;内存: 512MB 以上;磁盘空间: 1G 以上。软件平台:操作系统: Windows 2000/XP/Vista;开发语言: Java;开发工具: MyEclipse ;数据库: MySQL ;服务器: Tomcat 或者以上版本;浏览器:及以上版本;分辨率:最佳效果 1024像素*768像素。可行性分析开发任何一个基于计算机的系统,都会受到时间和资源上的限制。因此 在接受项目之前必须根据客户可能提供的时间和资源条件进行可行性研究。 它可以避免人力、物力和财力上的浪费。可行性研究与风险分析在许多方面 是相互关联的。项目风险越大,开发高质量软件的可行性越小。系统可行性分析包括:技术的可行性、经济可行性、操作可行性和社会 效益可行性从这几个方面论述。技术可行性本系统采用了 MyEclipse 开发工具和 MySQL 数据库进行开发,采用 java 作为开发语言,来实现安全的图书管理系统,并且降低开发难度。页面使用 JSP 作为表示层,并使用 JavaScript 来进行表单验证。为了使页面更加友好、 流畅,还结合了 Struts标签和CSS。在页面的使用技巧上,本程序采用了动态 包含的方式,使得页面之间可以动态同步的显示。以及Apache Tomcat服务器 的简易安装和稳定的运行对于系统的构建、运行和维护都可以轻松地完成, 所以技术上是可行的5。经济可行性在提出开发这个管理系统前,一方面是锻炼自已的能力,另一方面是了 解当今比较流行的管理系统的知识,本系统具有针对性,可以有效地减少资 金的投入,本系统所需运行环境都是网上免费开源的,只需下载安装即可使 用没有额外的一些支出,而且后期维护阶段也不需要太多的花费,总体投入 比较小,所以经济上是可行的。操作可行性本系统界面友好、操作简单、不受平台约束,而且采用B/S结构,只需装 有 IE 浏览器就可运行,十分节省资源。本系统性能稳定,即使是机器配置较 低的老图书馆也可放心使用。所以能够给用户带来流畅舒适的体验,所以操 作上是可行的。社会效益可行性对个人的图书管理工作进行了科学、 规范的管理, 提高图书管理工作 的效率;同时也可以加强与读者的交流, 便于读者对院校的硬件设施以及 环境做更详细的了解,实现无距离接触,无距离登记,真正建设成适应新 形势下要求的图书信息管理系统,所以社会效益上也是可行的。2 技术选择数据库技术本系统选用 MySQL 数据库,因为 MySQL 是开放源代码的,而且其速度、 可靠性和适应性而备受关注。大多数人都认为在数据量不是十分庞大的情况 下,MySQL是管理内容最好的选择。MySQL 是一个高性能、多线程、多用户、建立在客户 服务器结构上 的关系数据库管理系统, 通过在组成数据库的表中创建关系来更进一步地 处理数据,专门为了速度和稳定性而设计。在过去的几年中,它已经成为 线上和线下适合数据库驱动的应用程序最受欢迎的数据库管理系统之一。MySQL 始终围绕三个基本原则而设计,它们是:性能、可靠性和容易 使用。严格按照这些准则产生了一个价格便宜而富有特色、 适应标准而容 易扩展、速度快而效率高的RDBMS,使MySQL成为开发者和管理者建立、 维护和配置复杂应用程序的完美工具。MySQL 的特性:MySQL 性能显著地部分原因是它的允许多个并发数据库访问的完全 多线程体系结构,这个多线程体系结构式 MySQL 引擎的核心,允许多个 客户同时读取同一个数据库, 并且提供了大量的性能增益。 MySQL 代码也 以模块化、多层次方式构建, 为连接和索引这样复杂的任务提供了最小的 冗余和特殊的优化。JAVA 简介Java 是 Sun 公司推出的一种跨平台的程序设计语言。 随着 Java Servlet 的推出, Java 在电子商务方面开始崭露头角, JSP(Java Server Page) 技术的 推出,更是让 Java 成为基于 Web 的应用程序的首选开发工具, 目前的 Java 技术已成为所有大型电子商务项目的必然选择。 Java 非常适合于企业网络 和 Internet 环境,现在已成为 Internet 中最受欢迎、最有影响的编程语言 之一。Java程序也可以获取网络上结点的图象、声音、HTML文档及文 本等资源,并可以对获得的资源进行处理。 Java 有许多值得称道的优点, 如简单、面向对象、分布式、解释性、可靠、安全、结构中立性、可移植 性、高性能、多线程、动态性等 10。MVC 概述MVC( Model-View-Controller )即模型层- 视图层- 控制器层是 80 年代出现 的一种软件设计模式,它强制的把应用程序的输入、处理以及输出分开。 MVC 模式将应用程序分为3 个核心部分:模型层、视图层和控制层,这3 个部分 负担不同的任务。 视图层视图(View)是应用程序中用户界面相关的部分,视图向用户显示数据, 并能接收用户的输入数据,但它并不进行任何实际的业务处理。 模型层模型(Model )是应用程序的主体部分。模型表示业务数据和业务逻辑, 一个模型可以为多个视图提供数据,提高了应用的可重用性。 控制器层控制器(controller)工作就是根据用户请求,调用相应的模型组件处理请 求,然后调用相应的视图显示模型返回的数据。MVC处理过程首先,控制层接受用户的请求并决定应该调用哪个模型来进行处理;其 次,模型根据用户请求进行相应的业务逻辑处理并返回数据;最后,控制层 调用相应的视图来格式化模型反回的数据并通过视图呈现给用户。MVC的优点多个视图能共享一个模型;模型是自包含的 ;控制层提高了应用程序的 灵活性和可配置性。Struts 概述Struts框架工具是Apache基金会Jakarta项目中推出的一个子项目。Struts 在英文中是支架、支撑的意思,这也体现出Struts在开发Web应用程序过程所 起到的重要作用,Struts为Web应用提供了通用的框架,让开发人员可以把 主要精力集中在如何解决实际业务问题上,与此同时Struts框架也允许开发人 员根据实际需要进行扩展和定制,从而可以更好的适应用户的需求。采用Struts 可以简化遵循MVC设计模式的Web应用的开发工作,很好地实现代码重用, 使开发人员从一些繁琐的工作中解脱出来,快速开发能够充分发挥 JSP/Servlet 优点、并具有强可扩展性的 Web 应用8。总之, Struts 的出现使得 Web 应 用的开发过程大大简化,从而能够缩短开发周期、提高开发效率2。Struts架构一经推出,即受到Java开发群体的广泛重视,并日渐成为Java 创建 Web 应用开发的最流行的框架工具,精通 Struts 架构已经成为 Java Web 程序员必备的技能。Struts 框架优点:Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点。使开发者能更深入的了解其内部实现机制。除此之外,Struts 的优点主要集中体现在两个方面:Taglib和页面导航。Taglib是Struts的标记库,灵活动用,能大大提高开发效率。关于页面导航,我认为那将是今后的一个发 展方向,这样可以使系统的脉络更加清晰。Struts 框架缺点:Taglib 是 Struts 的一大优势,但对于初学者而言,却需要一个持续 学习的过程,甚至还会打乱你网页编写的习惯,但是,当你习惯了它时,你会 觉得它真的很棒6。Struts将MVC的Controller 一分为三,在获得结构更加清晰的同时,也增加了系统的复杂度。Struts从产生到现在还不到半年,但已逐步越来越多 运用于商业软件。虽然它现在还有不少缺点,但它是一种非常优秀的 J2EE MVC 实现方式7。3 系统总体设计项目规划根据个人日常图书管理工作的需求和管理流程, 该系统实施后, 应达 到以下目标。界面设计友好、美观,数据存储安全、可靠;基本信息设置保证的图 书信息和用户信息的分类管理; 实现了图书信息管理和用户信息管理; 强 大的查询功能,保证数据查询的灵活性;实现对图书的全部数据信息管理; 提供增加的功能,保证系统应用的广泛性,并设置用户密码保证安全性; 系统最大限度地实现了易维护性和易操作性; 提供灵活、方便的权限设置 功能,使整个系统的管理分工明确;采用人机对话的操作方式,方便管理 员的日常操作。图书管理是基础性的管理工作。 系统开发的总体任务是实现各种信息 的系统化、规范化和自动化。系统功能分析是在系统开发的总体任务的基 础上完成。图书管理系统是一个典型的数据库应用程序,由图书管理、用户管理、 图书查询等模块组成。用户管理: 在此区域可以输入用户名称、密码来登录本系统;用户添加。图书管理: 主要实现增加新图书、删除图书、修改图书信息等功能。图书查询:主要实现查询全部图书、按条件查询图书等功能。系统功能结构图书管理系统的功能结构如图1 所示。4 系统详细设计数据库设计设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的 以及将来可能增加的需求。数据库设计一般包括如下几个步骤: 数据库需要分析 数据库概念结构设计 数据库逻辑结构设计 数据库需求分析用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求 数据库结构能充分满足各种信息的输出和输入,收集基本数据、数据结构以 及数据处理的流程,为后而后具体设计打下基础。数据库概念结构设计根据各图书管理信息的总结与归纳,本系统中所包含的信息为:图书信 息、用户信息。可将这些信息抽象为下列系统所需要的数据项和数据结构: 用户信息表(编号,用户名称,密码,管理者标记) 图书信息表(书号,书名,出版社,出版时间,作者,图书价格) 数据库物理结构设计根据数据库各表的信息和关联,可以设计出 2 张数据表,每个表格表示在数据库中的一个表。主要数据表的结构用户信息表(manager)主要用来保存用户信息。该表中的字段为编号,用户名称,密码,管理者标记。其表结构如表1 所示。字段名称数据类型NulluseridVARCHAR(45)主/外键主键usernameVARCHAR(45)passwordVARCHAR(45)managerVARCHAR(45)描述编号用户名称密码管理者标记图书信息表(bookmark)主要用来保存图书信息。该表中的字段为:书号,书名,出版社,出版时间,作者,图书价格等信息。其表结构如表2所示。表 2 图书信息表字段名称数据类型Null主/外键描述booknameVARCHAR(30)N主键书名bookidVARCHAR(70)Y否书号pressINT(10)unsigncdedY否出版社book timeVARCHAR(30)Y否出版时间authorVARCHAR(30)Y否作者bookpriceVARCHAR(20)Y否图书价格5 系统功能具体实现数据库连接数据库连接及操作类通常包括得到一个Connection对象的方法getconnection()、关 闭指定的结果集的方法closeResultSet ()、关闭指定的Statement的方法closeStatement () 和关闭连接的方法closeconnection ()。import class Process private static String url = jdbc:;private static String user = root;private static String password = root;public static Connection getConnection() /得至 U个 Connectio n 对象connection conn = null;try ();conn = (url, user, password); catch (ClassNotFoundException e) (); catch (SQLException e1) ();return conn;public static void closeResultSet(ResultSet rs) /关闭指定的结果集if (rs != null) try (); catch (SQLException e) public static void closeStatement(Statement stmt) /关闭扌旨定的 Statement if (stmt != null) try (); catch (SQLException e) public static void closeConnection(Connection conn) /关闭连接if (conn != null) try (); catch (SQLException e) 用户管理模块的实现功能说明本模块有一个基本类 UserBean功能:1、用户登录2、用户添加类、方法设计实现该功能模块所涉及的重要类和方法:编号类名功能1UserBeanDao层实体接口类,用户的基本类2loginServlet用户登录Servlet3registerServlet用户添加ServletUserBean 类属性名数据类型属性说明useridString用户编号user nameString用户名称passwordString密码man agerString管理员标记返回值方法名功能参数说明StringgetUserid返回用户编号无voidsetUserid设置用户编号StringStringgetUsername返回用户名称无UserBeangetUsername返回某个编号对应的用户名StringvoidsetUsername设置用户名称StringStringgetPassword返回密码无voidsetPassword设置密码StringStringgetManager返回管理员标记无voidsetManager设置管理员标记Stringvoidregister注册用户信息无booleanisHere判断用户编号是否存在StringloginServlet返回值方法名功能参数说明voiddoGet用户登录HttpServletRequest request;HttpServletResponse responseregisterServlet返回值方法名功能参数说明voiddoGet注册新用户HttpServletRequest request;HttpServletResponse response图书管理模块的实现功能说明 本模块有一个基本类 JavaBean 功能:1、增加图书2、删除图书3、修改图书信息类、方法设计实现该功能模块所涉及的重要类和方法:编号类名功能1JavaBeanDao层实体接口类,图书的基本类2insertServlet增加图书Servlet3deleteServlet删除图书Servlet4upDateServlet修改图书信息ServletJavaBean 类属性名数据类型属性说明booknameString图书名称bookidint图书编号pressString出版社booktimeString出版时间authorString作者返回值方法名功能参数说明StringgetBookname返回图书名称无voidsetBookname设置图书名称StringintgetBookid返回图书编号无voidsetBookid设置图书编号intStringgetPress返回出版社无voidsetPress设置出版社StringStringgetBooktime返回出版时间无voidsetBooktime设置出版时间StringStringgetAuthor返回作者无voidsetAuthor设置作者StringdoublegetBookprice返回图书价格无voidsetBookprice设置图书价格doublevoidinsert增加图书无booleanisHere判断图书是否存在Stringintdelete删除图书StringintupDate修改图书信息intIntegergetPageCount分页处理时,获取页数无bookpricedouble图书价格bookpricedouble图书价格insertServlet返回值方法名功能参数说明voiddoGet向数据库中增加一本图书HttpServletRequest request;HttpServletResponse responsedeleteServlet返回值方法名功能参数说明voiddoGet从数据库中删除一本图书HttpServletRequest request;HttpServletResponse responseupDateServlet返回值方法名功能参数说明voiddoGet修改数据库中一本图书的信息HttpServletRequest request;HttpServletResponse response图书查询模块的实现功能说明 本模块有一个基本类 JavaBean 功能:1、查询全部图书2、按编号查询图书3、按书名查询图书 类、方法设计实现该功能模块所涉及的重要类和方法:编号类名功能1JavaBeanDao层实体接口类,图书的基本类2FindServlet查询全部图书Servlet3OnlyFindServlet按编号查询图书Servlet4SearchServlet按书名查询图书ServletJavaBean 类(属性列表与相同)返回值方法名功能参数说明StringgetBookname返回图书名称无voidsetBookname设置图书名称StringintgetBookid返回图书编号无voidsetBookid设置图书编号intArrayListfindAll查询全部图书无ArrayListSearch_BylD按编号查询图书String; ArrayListArrayListSearch按书名查询图书StringFindServlet返回值方法名功能参数说明voiddoGet查询全部图书HttpServletRequest request;HttpServletResponse responseOnlyFindServlet返回值方法名功能参数说明voiddoGet按编号查询图书HttpServletRequest request;HttpServletResponse responseSearchServlet返回值方法名功能参数说明voiddoGet按书名查询图书HttpServletRequest request;HttpServletResponse response结论通过这次课程设计让我对这学期所学的课程的一个综合体现。认真细致 地对开发过程进行了规划和分析,把握整体布局,明确了系统的基本功能, 做好结构图的情况下,在设计好系统各主要部分,将一些细节问题考虑周全 后才开始动手进行开发,使工作得以顺利进行。本系统基本完成了图书管理全部过程并详细的分析了本系统主要功能。技术采用面向对象语言Java,遵循MVC设计模式,后台数据库设计采用MySQL语言。界面设计友好、美观,数据库存储安全、可靠;系统提供灵活、方便 的权限设置功能,使整个系统的管理分工明确;而且还采用人机对话的操作 方式,方便用户的日常操作。在测试的过程中也遇到了一些问题,比如图书的出版日期的向数据库存 储问题。在管理图书信息时,图书的出版日期是date类型的数据,系统获取 出版日期数据时是string类型的数据,Servlet从页面获取string类型的日期后, 在后台转换为date类型的数据,再传入数据库中,实现在数据库中存储日期 类型的数据。总的来说,这次的课程设计为我提供了一次锻炼的机会。这不仅仅是一 次课程设计,不仅仅是学会了一种开发技术,更重要的是在学习的过程中, 所有的问题要自已去面对,有问题也只有靠自已去解决,在学习和解决这些 困难的过程中提高了我学习的能力、解决问题的能力和实际工作的能力,学 到了许多书本以外的知识,我相信会给我在以后的人生道路上带来很多的帮 助。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!