java毕业设计——基于JSP+JavaBean的WEB数据库浏览器设计与实现(毕业论文+程序源码)——数据库浏览器

基于JSP+JavaBean的WEB数据库浏览器设计与实现(毕业论文+程序源码)

大家好,今天给大家介绍基于JSP+JavaBean的WEB数据库浏览器设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模板等的小伙伴,可以进入我的博客主页查看左侧最下面栏目中的自助下载方法哦

文章目录:

1、项目简介

  1. 可维护的数据库浏览器,采用基于Web的多层应用模型。程序上采用MVC结构,可以将数据存取逻辑与数据表现逻辑分开,组合JSP Servlet和JavaBean来建造灵活与可维护的应用程序的设计模式。
  2. Web界面的要求是允许用户浏览相关数据库中的内容.该界面使用户可以通过指定一个JDBC驱动器或URL来与一个数据库连接。接着,应用程序会允许用户浏览数据库中定义的所有表,并且可以选择任何一个表对其数据进行处理。同样,用户还可以输入SQL查询语句并查看这些查询操作产生的列表数据。在用户使用会话的任何时间内,必须确保用户可以很容易地断开数据库,并连接到另一个数据库上。


2、资源详情

项目难度:中等难度
适用场景:相关题目的毕业设计
配套论文字数:16987个字32页
包含内容:全套源码+配整论文


3、关键词

MVC、设计模式、多层结构

4、毕设简介

提示:以下为毕业论文的简略介绍,项目完整源码及完整毕业论文下载地址见文末。

1绪论
1.1Web应用系统
近十年来,基于Internet的应用正以前所未有的高速度发展,其中一个重要的方向就是基于Web的应用系统的发展。在此期间,随着技术的不断更新和应用的不断深入,Web应用系统的发展也经历了几个阶段性的跨越。
省略

1.2体系结构
应用程序服务器的产生与软件体系结构的演变发展也是密切相关的。让我们简单回顾一下软件体系结构的发展历史。与最初的大型中央主机相适应,最初的软件结构体系也是Mainframe结构,该结构下客户、数据和程序被集中在主机上,通常只有少量的GUI界面,对远程数据库的访问比较困难。随着PC的广泛应用,该结构逐渐在应用中被淘汰。
省略

一个典型的三层模型如如下图所示:
在这里插入图片描述

(图1.2)
客户层(client tier) 用户接口和用户请求的发出地,典型应用是网络浏览器和胖客户(如Java程序)服务器层(server tier) 典型应用是Web服务器和运行业务代码的应用程序服务器数据层(data tier) 典型应用是关系型数据库和其他后端(back-end)数据资源, 如 Oracle和SAP、 R/3等三层体系结构中,客户(请求信息)、程序(处理请求)和数据(被操作)被物理地隔离。三层结构是个更灵活的体系结构,它把显示逻辑从业务逻辑中分离出来,这就意味着业务代码是独立的,可以不关心怎样显示和在哪里显示。业务逻辑层现在处于中间层,不需要关心由哪种类型的客户来显示数据,也可以与后端系统保持相对独立性,有利于系统扩展。三层结构具有更好的移植性,可以跨不同类型的平台工作,允许用户请求在多个服务器间进行负载平衡。三层结构中安全性也更易于实现,因为应用程序已经同客户隔离。

1.3应用程序服务器
应用程序服务器是三层/多层体系结构的组成部分,应用程序服务器位于中间层。如上图所示,应用程序服务器运行于浏览器和数据资源之间,一个简单的实例是,顾客从浏览器中输入一个定单,web服务器将该请求发送给应用程序服务器,由应用程序服务器执行处理逻辑,并且获取或更新后端用户数据。
省略

2开发语言

2.1Servlet
Servlet是使用Java Servlet 应用程序设计接口(API)及相关类和方法的 Java 程序。除了 Java Servlet API,Servlet 还可以使用用以扩展和添加到 API 的 Java 类软件包。Servlet 在启用 Java 的 Web 服务器上或应用服务器上运行并扩展了该服务器的能力。Java servlet对于Web服务器就好象Java applet对于Web浏览器。Servlet装入Web服务器并在Web服务器内执行,而applet装入Web浏览器并在Web浏览器内执行。Java Servlet API 定义了一个servlet 和Java使能的服务器之间的一个标准接口,这使得Servlets具有跨服务器平台的特性。
省略

2.2JSP
JavaServer PagesTM (JSP)技术为创建显示动态生成内容的Web页面提供了一个简捷而快速的方法。JSP技术的设计目的是使得构造基于Web的应用程序更加容易和快捷,而这些应用程序能够与各种Web服务器,应用服务器,浏览器和开发工具共同工作。JavaServer Pages (JSP)技术就是被设计用来满足能够在任何Web或应用程序服务器上运行,将应用程序逻辑和页面显示分离,能够快速地开发和测试,简化开发基于Web的交互式应用程序的过程.
省略

2.3JDBC接口技术
JDBC是一种可用于执行SQL语句的JavaAPI(ApplicationProgrammingInterface应用程序设计接口)。它由一些Java语言编写的类和界面组成。JDBC为数据库应用开发人员、数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java语言编写完整的数据库应用程序。

2.3.1ODBC简介
说到JDBC,很容易让人联想到另一个十分熟悉的字眼“ODBC”。ODBC是OpenDatabaseConnectivity的英文简写。它是一种用来在相关或不相关的数据库管理系统(DBMS)中存取数据的,用C语言实现的,标准应用程序数据接口。通过ODBCAPI,应用程序可以存取保存在多种不同数据库管理系统(DBMS)中的数据,而不论每个DBMS使用了何种数据存储格式和编程接口。

2.3.2JDBC技术
JDBC是一种可用于执行SQL语句的JavaAPI(ApplicationProgrammingInterface,应用程序设计接口)。它由一些Java语言写的类、界面组成。JDBC给数据库应用开发人员、数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java语言编写完整的数据库应用程序。
省略

2.3.3JDBC两层模型和三层模型
  JDBC支持两层模型,也支持三层模型访问数据库。
两层模型中,一个java Appple或者一个JA-va应用直接同数据库连接。这就需要能直接被访问的数据库进行连接的JDBC驱动器。用户的SQL语句被传送给数据库,而这些语句执行的结果将被传回给用户。数据库可以在同一机器上,也可以另一机器上通过网络进行连接。这被称为“Client/Server”结构,用户的计算机作为Client,运行数据库的计算机作为Server。这个网络可是intranet,比如连接全体雇员的企业内部网,当然也可以是internet。

省略

3系统结构
3.1JSP Servlets和JavaBean来构成系统
本节我们讨论用JSP,Servlets,和JavaBean来构成一个系统的途径。下面有集中不同的结构。每一种都是从上一种发展过来的,下面的图表显示了发展过程的梗概。
在这里插入图片描述

(图3.1)
省略

3.1.1体系结构
在讨论体系结构之前,有必要提一下两种使用JSP技术的基本方法
第一种是以页面为中心(Page-Centric)的(Client/Server)方式,这样方式是把请求直接发给JSP页面。
第二中方式分发方式(多层结构的)。这种方式以一个JSP或者Servlet做为一个基本的控制器,它又把请求分给JSP页面或者JavaBean。
首先我们看看Page-Centric的结构。这样的结构通常都是来客户机和服务器端都有一个应用程序。最常见的例子是PowerBuilder的例子。Servlet或者JSP在服务器端截获客户的请求,直接的访问数据库等资源。
在这里插入图片描述
  
  (图3.2)
  这个结构的优点就是编程简单。允许页面的设计者根据资源的状态动态的生成页面的内容。但是,这样的结构不适合多个客户同时访问资源,这样同时会有大量的请求需要服务端来处理。每个请求都会建立一个连接,消耗一定的资源。这样,需要让这些连接共享一些资源。其中最明显的例子就是用JDBC连接数据库中用到的连接池(Connection pools)。对结构使用不适当的话,会导致JSP中出现大量的JAVA代码。这虽然对java程序设计人员不会有什么问题,可是大量的代码分散在JSP中,不利于维护和修改。
  这种基本的结构包括通过嵌入在JSP中的代码直接的向服务器发请求。这样有几个优点:从开发看来,成本很低。所有的JAVA代码都嵌入到HTML中,复杂性降低了。
在这里插入图片描述

省略

3.2.1应用程序的基本功能单元
组成应用程序的功能代码及其资源,按照其在应用程序中的功能,可以简单分解成为三个部分:用户界面(User Interface),事务逻辑(Business Logic)和数据存取(Data Access)。应用程序的基本功能单元如图3.7所示。
在这里插入图片描述

图3.7、应用程序功能分解

3.2.2多层客户服务器应用模型
两层应用程序模型的出现极大的增加了应用程序的灵活性,同时也带来应用程序可维护性的提高。但是,在两层应用程序中仍然存在着不便维护的缺点,客户端的逻辑或是客户端的嵌入SQL极有可能随着数据库的改变或是事务逻辑的变化而变化,不得不重新实现并发布一个新的客户端,也就是说,这样的应用程序模型仍然是比较脆弱的。三层或是更多层应用模型的出现,解决了这样的问题。
在三层的应用程序模型中,事务逻辑与用户界面和数据存取明显的分离出来,将客户端的用户界面与服务器端数据存取隔离开来,极大的改善了应用程序的可维护性。
注意,虽然最常用的多层客户/服务器模型是三层模型,但是,现在已经出现了将事务逻辑层和数据存取层增加的趋势。这种更多更细的分层不但提高了系统的维护性能,同时也增加了系统的重用性和与分布式系统概念融合的可能性。
图3.8所示为一个典型的三层模型:
在这里插入图片描述

图3.8、三层客户/服务器应用模型

3.2.3分布式系统
在分层的客户/服务器应用模型中,下一层为上一层提供服务,上一层调用下一层提供的服务,这不利于功能的重用。为了最大限度的发挥系统的功能,分布式系统打破分层系统中对于客户和服务器的定义,将应用程序的代码实现分解为遵循某个标准规范的对象,这些对象中提供的功能被封装到接口中。在某个具体的服务逻辑中,一个对象可能充当客户端的功能,它需要调用另一个对象提供服务;但是,在另一个服务逻辑中,同一个对象可能为另一个对象提供服务,充当服务器的功能。

常见的分布式对象规范有COM/DCOM、CORBA、Java RMI等。
分布式系统模型如图3.9所示。
在这里插入图片描述

图3.9、分布式系统模型

3.2.4基于Web的多层应用模型
WWW的发展,使得Internet的应用不再局限于提供一些静态的内容、甚至也不满足于提供一些简单的动态内容。传统以独立的软件包形式发布的一些应用程序,正逐渐被搬上Internet,以出租服务的方式提供给用户,这就是ASP(Application Service Provider)。由于Web的特点是Internet 上的HTTP,是一种请求应答式的无连接的服务形式,所以这种基于Web的应用程序在体系结构上有其独特的特点。
在这里插入图片描述

图3.10、基于Web的多层应用模型

4可维护与实现
4.1采用灵活与可维护的设计模式
当您设计建造不同的应用程序时,您时而不时地会碰到相同或者非 常类似的问题域。每次碰到这些问题时您都必须去重新寻找解决方案 。为了节省时间与精力,如果有一个知识库,能够捕获这样的具有共 性的问题域与被证明是正确的解决方案,将是非常理想的。 用最简单的话来说,这样的通用解决方案就是一个设计模式。这样 的知识库,或者说参考处,包含了这些模式,就是设计模式目录。
模式摸板通常包含一个用来描述模式所代表的意义的名字,紧跟着 的是模式的适用范围、动机、在实现过程中的问题等等。除了描述问 题与阐明解决方案,模式还解释在使用本模式的实现过程中可能存在 的问题和后果。使用这样的模式让应用程序的设计变得透明。这些模式已经被不同 的开发者在不同的领域内成功地使用过,所以,一个模式的优点和缺 点(也包括实现过程中的问题)都已经事先知道。所有的设计模式都 是可重复使用的,并且在特定的场合中适用。这就给了您灵活性。同 J2EE应用程序有关的设计模式的使用在J2EE平台技术方面提供了更多 优势来展示了解决方案。

4.1.1模型-视图-控制器
如果您所建造的这个应用程序只是给单一类型的客户使用的, 那问题就简单了。我们可以简单地将数据存取/数据修改逻辑与不同的 客户视图逻辑混合在一起。但是随着一个完全互连的无线世界的出现, 客户端的设备从PDA、蜂窝电话到一个功能强大的桌面系统上的浏览器 都有,这还不包括其他的传统设备。在这种情况下,将数据存取与视 图混合在一起来作为解决方案,将会有很多问题,这是因为:
 您必须开发这个应用程序的不同版本,以便适应与支持各种不同 的客户需要
 由于视图的代码与数据存取/修改的代码纠缠在一起,重复的数 据存取/修改代码散步在各处,这就使得应用程序几乎是不可维护的。
 开发生命周期被不必要地扩展了
为了找到这个问题的解决方案,请注意以下几点:
 不论客户类型如何,被存取与显示的数据必须来自同一个企业级 的数据源。
 所有的客户必须能够对数据源进行修改。
 不论是修改一个客户类型,还是修改数据存取/修改逻辑,都不应 该影响到应用程序的其他组件。

省略

4.3设计
开发周期的第一部是,JSP/JAVA程序员将要求商家预排所有的页面:与前面显示的视图相似,但要更详细一些。在进行预排工作中,还应确定所需的错误处理操作。这样做,可以使开发员在项目早期的设计阶段对此有一个大致的概念。例如,实际应用程序总是存在风险的,开发程序中功能最为复杂的部分会有多大难度?性能是否会令人满意?早期开发概念模型使开发员可以在开发周期的初级阶段对这些风险加以估量和解决,在交互式的开发过程中,这是非常重要的一步。
为了更加全面的理解网页流程,可以使用一个状态图,它是理解和处理网络应用程序行为的一个有效途径(注意状态图不同于网络流程图。应用程序的状态转换不一定与用户会话的网页流程相对应)。下面这个状态图显示了数据库浏览器转换过程中的状态的以及各个状态间的合法转换,如图4.5所示。
在这里插入图片描述

图4.5
省略

4.4实现
由于表示方式与数据源分离,所以可以分别设计表示方式(JSP和支持类)和数据源。
4.4.1表示层-视图标志库
视图(view)标志库视图提供了几套自定义标志,用于显示存储在Swing数据模型中的数据。
其中使用的标志有:
〈view:jspTable〉—保存TableModel,以便于子标志使用。获取标题打开与关闭的属性。
〈views:headingOpen〉—配置TableModel标题的打开属性。
〈views:headingClose〉—配置TableModel标题的关闭属性。
〈views:headingCell〉重复处理表格标题,并输出相应信息。
〈views:rows〉—重复处理表格中的所有行。
〈views:rowOpen〉—配置RowsTag的行打开属性。
〈views:rowClose〉—配置RowsTag的行关闭属性。
〈views:cell〉—模拟HeaderTag重复处理表格中的行。

表示层-ui和ui.requesthandlers软件包
表示层的核心是请求控制器,controller.jsp。它可以用来创建RequestController会话bean的一个实例,该实例可以实现页面流程逻辑,并可以推动控制器定义的JSP视图对请求做出响应。是入口点。

省略

5结论
从应用程序中,已经看到,MVC模型可以通过使用JSP来实现。核心是使用一个“控制器”来处理即将出现的请求,并确保控制流程不是由JSP视图处理的。
本应用程序没有使用Servlet控制器,而是使用了JSP和帮助类来实现这一控制。本程序运行时使用了Java映射机制来加载请求处理器。使用映射机制可以决定如何处理请求时,避免使用那些复杂的语句。

本程序用到了编写可维护性JSP代码时要遵循的原则。其中包括:
1. 它明确的分离了表示方法,数据和业务逻辑。表示方式的处理将放入JSP视图中,而将数据保存在非特定的UI模型中;而业务逻辑则由请求处理器类来实现。
2. 使用Java bean作为每个JSP视图显示的数据模型,而不允许JSP视图访问请求参数。
3. 使用自定义标志来帮助显示列表数据,避免JSP执行嵌套的重复操作。
4. 使用静态的include,避免重复的代码,并使条件逻辑更加清晰。
本程序并不是一个真实的J2EE体系结构(它没有使用EJB),但是它却尝试着在表示方式和数据层之间建立一个清晰的分界,使对基础数据源的改变操作不会影响到JSP或帮助类。

致 谢
省略

参考文献:
1.[美] ChadDarby JohnGriffin等著 邱仲潘 等译.《Java网络编程指南》.电子工业出版社.2002.3.
2.[美] SimonBrown 等著 王军 刘芳 等译.《JSP编程指南》.电子工业出版社.2002.3
3.XML工作室 陈锦辉 王景浩 编著.《XML与JAVA程序设计大全》.中国铁道出版社.2002.5.
4.侯云峰 刘睿 扬正洪 张立平 编著.《三层次Client/Server应用开发指南》.电子工业出版社.2002.6.
5.陈烨 赵斌 编著.《JBuilder7编程实作指南》.北京希望出版社.2002.11.
6.黄德才 主编《数据库原理及其应用教程》.科学出版社.2002.8.
7.知识库:http://www.allaire.com/Support/KnowledgeBase/SearchForm.cfm
8.在线文档:http://www.allaire.com/Documents/

附录 安装Servelet/JSP环境
省略


5、资源下载

本项目源码及完整论文如下,有需要的朋友可以点击进行下载。如果链接失效可点击下方卡片扫码自助下载。

序号毕业设计全套资源(点击下载)
本项目源码基于JSP+JavaBean的WEB数据库浏览器设计与实现(源码+文档)_jsp_BS架构_WEB数据库浏览器.zip
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

毕业设计方案专家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值