【PHP开源代码栏目提醒】:本文主要为网学会员提供“JSP 技术的数据库浏览工具 - 毕业设计”,希望对需要JSP 技术的数据库浏览工具 - 毕业设计网友有所帮助,学习一下!
基于JSP技术的数据库浏览工具 学 院 计算机科学与技术 专 业 计算机科学与技术 年 级 2003级 姓 名 张 辉 指导教师 张坤龙 2007年 6 月 15 日 摘 要
论文使用JSP、Tomcat和MySQL开发套件了一个基于JSP技术的数据库浏览工具JBrowser目标是使对计算机和数据库不熟悉的用户摆脱学习结构化查询语言的负担。
通过JBrowser这个工具数据库管理员可以将自己管理的数据库发布到Web上随后数据库用户就可以随时随地通过浏览器来浏览数据库中的内容。
论文首先阐述了数据库浏览工具的意义和发展现状。
然后介绍了JSP技术并对JSP和其他Web开发语言进行了比较。
接下来
论文给出了JBrowser的设计包括体系结构、数据流图和模块划分。
最后
论文对JBrowser实现中使用的一些关键技术例如元数据浏览、分页和排序、页面间的参数传递等等进行了讨论。
关键词JSPTomcatMySQL数据库浏览 目 录 第一章 绪论....................................1 1.1 数据库的浏览...............................1 1.2 国内外现状.................................2 1.3 课题的意义.................................3 1.4
论文的组织.................................3 第二章 JSP技术................................4 2.1 JSP工作原理...............................4 2.2 JSP页面的基本组成.........................4 2.3 JSP出错处理...............................5 2.4 JSPASPPHP的比较.......................6 2.5 JSP应用的配置.............................7 第三章 JBrowser的设计.........................8 3.1 系统需求...................................8 3.2 体系结构...................................9 3.3 数据流图..................................10 3.4 模块划分..................................11 第四章 JBrowser的实现........................13 4.1 Web应用发布..............................13 4.2 分页浏览..................................14 4.3 排 序....................................15 4.4 JSP连接数据库............................16 4.5 参数传递..................................18 第五章 总结...................................22 参考文献.........................................23 致 谢 天津大学2007届本科生毕业设计
论文 1第一章 绪论 1.1 数据库的浏览 数据库的浏览是把DBMS中存储的数据信息表视图元组等从DBMS中取出并按照一定的组织方式由终端表达给用户。
数据库浏览的对象为数据包括用户数据和元数据。
用户数据比较容易理解下面着重解释元数据的概念。
元数据最本质、最抽象的定义为data about data 关于数据的数据即关于数据库中的内容、质量、状况和其他特性的信息这也使得最终用户实际上并不关心元数据。
在数据库领域中元数据有两方面的用途。
首先元数据能提供基于用户的信息帮助用户使用数据以便就数据是否满足其需求作出正确判断。
其次元数据能支持系统对数据的管理和维护支持系统以最有效的方式访问数据便于用户查询检索1。
具体举例来说在MySQL中数据库test中的test表内的数据就是用户数据它记录了一条id为1name为a的数据。
这是最终用户关心的数据因为用户可以在这个表中加入记录变成一个公司员工信息表或学生信息表。
虽然因为表结构过于简单只能记录公司中是否有某个员工和这个员工的编号。
相反地数据库information_schema中的所有数据都是元数据表COLLATION_CHARACTER_SET_APPLICABILITY记录的是系统所支持的字符集的信息表SCHEMATA中记录的是数据库的基本信息比如各个数据库的默认存储字符集。
最终用户在使用数据库的时候并不关心这些数据。
数据库的浏览方式主要有三种基于Web的B/S结构浏览非基于Web的C/S结构浏览以及直接使用DBMS提供的界面或接口输入SQL语句直接查询。
在这些方式中基于Web的浏览方式应用最为广泛和方便。
原因如下 第一B/S结构比C/S的维护工作量大大减少。
C/S结构的每一个客户都必须安装和配置客户端软件频繁的服务器升级和系统维护使得C/S结构客户端软件需要不断的更新极易出现版本不合而造成的浏览错误。
而B/S结构是基本上完全的瘦客户端只需要浏览器支持无需进行客户端的升级。
第二B/S结构不用专门编写通讯处理模块直接用Web Server接收和发出信息节省软件开发周期和开发成本。
第三B/S结构采用面向对象技术
代码可重用性好。
原有
代码只需稍做修改就可以满足不同的需求。
B/S结构也有不足之处主要为基于html
代码简单表现形式有限很多高级功能无法实现客户端浏览器很容易暴露源
代码不够安全浏览器本身结构的设计缺陷导致很容易受攻击等。
但基于其强大的优点基于浏览器/服务器模式的浏览工具在各个行业里的应用越来越广泛。
天津大学2007届本科生毕业设计
论文 21.2 国内外现状 1.2.1 SQL的发展状况 SQL是用于访问数据库的最常用标准化语言最早由IBM公司使用在其开发的数据库系统中1986年10月美国ANSI对SQL进行规范后作为关系数据库管理系统的标准语言ANSI X3.135-19861987年得到国际标准化组织的支持成为国际标准2。
SQL标准自1986年以来不断演化发展有1992年发布的“SQL92”1999年发布的“SQL1999” 标准的当前版本是2003年发布的“SQL2003”。
SQL是高级的非过程化编程语言允许用户在高层数据结构上工作其优点主要为它不要求用户了解对数据的存放方法和存放方式所以具有完全不同底层结构的不同数据库系统可以使用相同的SQL语言作为数据输入与管理的接口。
SQL语言可以嵌套使用这使它具有极大的灵活性和强大的功能也意味着用SQL语言可以写出非常复杂的语句。
SQL是所有关系数据库的公共语言。
由于所有主要的关系数据库
管理系统都支持SQL语言用户可使用SQL将数据从一个RDBMS转到另一个。
所有用SQL编写的程序都是可以移植的。
1.2.2 DBMS自带的浏览工具 OracleOracle SQL Developer是甲骨文公司开发的图形化工具它具有拖拉功能可以开发和调试SQL和PL/SQL
代码并可以帮助开发者完成浏览和建立、运行SQL脚本、编辑和调试PL/SQL
代码、浏览和升级数据等任务。
Oracle SQL Developer具有已推出的Oracle Database 10g和 Oracle9i Release 2的所有功能甲骨文计划把转移工作台技术融入Oracle SQL Developer这样用户就可以从SQL Server、Sybase、MySQL产品直接转移到甲骨文的平台。
DB2IBM Content Manager 为IBM的内容管理器
软件支持多层、分布式、基于Web的结构可以管理多媒体内容以及传统的文本数据通过对元数据和文本文件的全文检索功能内容管理器使用户能够方便地检索相关
文档。
另外还有SqlServer的查询分析器Informix公司服务于动态内容的多层次Web应用的开发及运行工具InformixObjectTranslator等。
1.2.3 第三方的数据库浏览工具 因为MySQL的
开源在第三方工具中支持MySQL的数据库浏览工具是最为常见的其中最具代表性的就是PhpMyAdmin一个用
PHP实现的第三方工具。
PhpMyAdmin在数据库设计方面的功能非常完备但在不能浏览及直接编辑表的内容另外编写自由SQL语句的界面使用也不方便。
此外图形界面的EMS MySQL Manager Lite界面设置和所完成的功能也非常优秀能够让人以方便的方式管理MySQL数据库。
最后类似工具还有网际数据库浏览器和天津大学2007届本科生毕业设计
论文 3MySQL-Front使用
PHP tunnel。
这两者的工作方式很相似都需要复制一个
php 的脚本文件到网站上然后启动一个 Windows 界面的程序工作时设置连接
php 脚本的URL。
网际数据库浏览器的界面类似MS-SQL的查询分析器在某些方面使用更为方便比如在带有过滤条件游览表的同时可以编辑表的内容可以从查询结果网格中复制出字段名及SQL表达式等。
在大型数据库中最为成功的是第三方厂商Quest为甲骨文数据库产品提供的相关工具因为本文的数据库浏览工具是基于MySQL的而且作者对于ORACLE等大型数据库并不熟悉所以简略带过。
1.3 课题的意义 社会正在以前所未有的速度向信息化迈进数据在人们的生产和生活中扮演着越来越重要的角色。
在各个行业中对数据的使用最多的是数据查询但问题是对于
计算机行业之外的用户来说现有的DBMS提供的SQL查询语言虽然功能强大但并不方便另外异地查询的需求也得不到满足所以设计实现一个基于Web的数据浏览工具就有了其实际的应用意义。
另外在开发这个数据库浏览工具的时候可以
学习到数据库和动态网络开发技术相关的知识和方法有助于锻炼专业能力提高个人水平。
1.4
论文的组织 本文将一个名为JBrowser的基于JSP技术的数据库浏览工具。
论文剩余部分的组织结构为 第二章介绍了JSP技术和毕设设计所选用的开发套件 第三章总体阐述了JBrowser的设计包括体系结构数据流图等 第四章说明了JBrowser的实现并对使用的一些关键技术例如应用发布、数据库连接、页面间的参数传递等等进行讨论。
最后在第五章总结本次
毕业设计的成果和不足并提出改进建议。
天津大学2007届本科生
毕业设计论文 4第二章 JSP技术 2.1 JSP
工作原理 JSP是以Java技术为基础的下面首先介绍JSP的工作原理其具体执行分为以下几个步骤 1浏览器客户端向JSP容器如Tomcat发出JSP页面请求 2JSP容器将对应的页面转换为相应的Java Servlet源
代码 3JSP容器编译生成的源
代码生成.class文件 4JSP容器加载运行对应的.class文件 5JSP容器把响应的输出结果发送到浏览器端。
页面的执行过程如图2-1所示3。
图2-1 JSP的执行步骤 由此可见JSP容器管理JSP页面的生命周期分为两个阶段转换阶段translation phase和执行阶段execution phase但需要说明的一点是Servlet类一旦加载在原来的JSP页面没有发生改变的情况下JSP容器对于浏览器发送过来的请求跳过第2、3、4个步骤直接执行步骤5。
2.2 JSP页面的基本组成 JSP页面包括JSP元素、注释和HTML静态页面表达三部分页面组成如图2-2。
JSP指令元素用于将消息传送到JSP驱动提供全局信息独立于JSP页面接受的任何请求为翻译阶段提供信息。
JSP指令元素并不产生任何输出页面 Web浏览器JSP页面Servlet.class文件 转换为Servlet 编译成class 请求JSP页返回.html页面 天津大学2007届本科生毕业
设计论文 5信息。
JSP脚本元素插入Java语言程序
代码其中声明用来声明仅在页面有效的变量和方法表达式用来返回String类型的值并按顺序out对象输出到浏览器中。
脚本程序片段可以包含任何JSP2.0支持的
代码片段脚本脚本片段必须符合Java语言规范。
一个JSP页面可以有多个脚本片段在处理时服务器按顺序执行由
代码决定是否产生输出【4】。
图2-2 JSP页面组成 JSP行为元素使用标记表示遵循XML语法格式
JSP规范中指定的行为称为标准行为其作用是 1页面包含和跳转参数设定 2存取JavaBean 3动态产生XML元素 4用于标记文件。
2.3 JSP出错处理 JSP执行时错误可能发生在转换阶段或请求处理阶段。
转换阶段发生的错误主要集中在编译过程中所以称为编译错。
请求处理阶段发生的错误成为请求处理错也称为运行错。
编译错的主要生成原因是JSP页面存在语法错误容器无法将JSP页面转换成Servlet实现类不能生成对应的响应类。
JSP页面 注 释 JSP注释lt--x--gtHTML注释lt--xgt JSP元素
HTML元素 JSP指令 JSP动作JSP脚本 lt xxxgt ltJSP:xxxxgt 声 明 程序段 表达式 ltxxxxgt ltxxxxgt ltxxxxgt 天津大学2007届本科生毕业设计
论文 6运行错误是使用Java语言的异常处理机制实现的。
当异常发生时通知调用者如JSP页面的实现类捕捉和处理相应的异常。
如果异常不被处理就会导致将客户端请求及出现的异常转向由JSP页面定义的出错处理页面URL由该页面处理错误。
如果页面没有指定出错处理页面会使用默认的处理。
比如当一个页面要求用户输入数值而用户输入的是字符串的时候异常产生从而调用错误处理页面得到输出的错误处理结果。
2.4 JSPASP
PHP的比较 ASP的特点精确地说ASP是一个中间件它将web上的请求转入到一个解释器中在这个解释器中将所有 ASP的script进行分析、执行它可以调用COM对象Active X控件对这个对象中的属性和方法进行操作通过COM对象完成更多的工作。
ASP调用的COM组件大大扩展了ASP的功能可以用任何支持这种标准的工具开发。
ASP比较明显的几个缺点第一最多为人所诟病的是它依赖WINDOWS操作系统和COM组件无法跨平台使用。
虽然Unix下也有ChiliSoft的插件来支持ASP但是ASP本身的功能有限必须通过ASPCOM的组合来扩充而Unix下的COM实现起来非常困难。
第二安全性
问题IIS的漏洞曾经使许多网站的源程序大曝光ASP
代码被人下载。
第三ASP通过COM对象来扩充复杂的功能虽然ASP简单易学但COM的开发远比Beans复杂和繁琐这增加了开发高质量ASP
程序的难度。
PHPHypertext Preprocessor是HTML内嵌式的语言它混合了CJAVA和PERL。
其主要优点为第一运行速度快便于掌握可以方便地进行维护和管理。
第二开放源码所有的源码和
文档都可以买卖、复制、编译和传播。
第三同JSP一样有平台无关性可跨平台使用。
第四它是完全
免费的对于需要考虑成本的运营方来说有很大的诱惑力。
其缺点主要为首先
PHP缺乏规模支持缺乏企业级的和正规的商业支持 难于实现商品化应用的开发。
其次缺乏多层结构支持。
对于需要分布计算的大负荷站点数据库、应用逻辑层、表示逻辑层彼此分开而且同层也可能根据具体需求划分组成阵列。
PHP缺乏这种支持难于提供大型电子商务解决
方案。
第三点是
PHP提供的数据库接口支持不统一这极大限制了它的广泛应用。
JSPJava Server Page是完全的面向对象和平台无关的。
它的主要优点如下第一将内容生成与显示分离这也是JSP规范的终极目标。
使用JSPWEB开发人员可以使用HTML或者XML标识来设计和格式化最终页面【5】。
使用JSP标识或者小脚本来生成页面上的动态内容。
核心逻辑被封装在标识和JAVABEAN中那么其他人如
web管理人员和页面设计者能够编辑和使用JSP页面而不影响内容的生成他们不需要知道或不用关心内部的具体的实现。
天津大学2007届本科生毕业设计
论文 7第二 生成可重用组件开发人员能够共享和交换执行普遍操作的组件或者使得这些组件为更多的使用者或者客户团体所使用这是模块化程序设计的优点。
第三JSP采用标识简化页面开发它允许开发人员定制自己的JSP标签创建自己的自定义标签库。
这样开发者可以让网页制作者避开网页将重要的功能以标签的形式提供给更多的网页制作者使用。
第四由于JSP页面的内置脚本语言是基于
Java编程语言的而且所有的JSP页面都被编译成为Java ServletJSP页面就具有Java技术的好处包括健壮的存储管理和安全性。
第五作为Java平台的一部分JSP拥有Java编程语言“一次编写各处运行”的特点。
JSP组件如JavaBeans组件和自定义的JSP标签等可跨平台的重复使用。
它的主要缺点为第一调试困难。
编译器和虚拟机只能报告与JSP相对应的Servlet中的错误不利于方便的调试和排错。
第二对于庞大的系统控制
代码会变得非常麻烦。
纯java的工程编译一次就能把主要的问题暴露出来但是JSP需要把每个JSP页面都访问过才能让它全部编译。
有一些页面需要满足一定条件才能访问在调试过程如果改动了已有的JSP
代码就会隐藏错误不易发现冲突这降低了人的工作效率。
第三运行速度慢必须将Class常驻内存资源耗费严重。
2.5 JSP应用的配置 本节主要叙述浏览工具开发所需要的软件工具和运行环境等。
论文选用JSP作为应用开发语言。
目前有许多应用服务器支持JSP2.0规范同时也有许多开发工具支持JSP2.0开发。
作为学习和掌握JSP2.0技术为目的同时也出于个人计算机配置负载能力考虑我选用Windows操作
系统平台下的J2SE SDKJava 2 Standard Edition Software Development KitJava 2 标准版软件开发包和Apache Jakarta Tomcat来搭建JSP开发平台用Tomcat做JSP容器负责接收Web请求并将请求传送到JSP Web应用用MySQL作为后台数据库文本编辑工具选用UltraEdit对客户端没有要求只要是遵循HTTP协议的浏览器都可以在这个工具设计过程中使用的是IE和firefox。
天津大学2007届本科生毕业设计
论文 8第三章 JBrowser的设计 在这一章中主要介绍设计并实现的基于JSP技术的数据库浏览工具的整体设计部分包括系统需求确定体系结构划分数据流图设计和模块功能划分等。
并且将这一基于JSP技术的数据库浏览工具顾名思义命名为JBrowser。
3.1 系统需求 所设计的数据库浏览工具需要具备以下功能 第一支持数据库管理员可以将自己管理的数据库发布到Web上。
这意味着所访问的数据库内容是程序设计人员不可知的无论是数据库的数量还是数据库中表和视图的结构。
并且要求只要数据库管理员在后台发布了新的数据创建了新的数据库或表或是更改了原数据库的属性或表的结构访问程序可以不经过任何修改就支持有访问权限的用户对数据进行查询。
因此需要访问程序有一定的通用性不是针对特定结构的数据进行查询。
第二用户通过浏览器可浏览数据库管理员发布的元数据、表和视图。
对于元数据的查询非计算机行业的最终用户没有必要也不会有兴趣去进行
查询所以对这种用户来说可以屏蔽其对元数据的查询。
对于有对元数据查询需求的用户需要提供对元数据的查询。
第三用户界面友好支持表格式查询和表单式查询两种不同的数据表示方式。
表格式查询中显示时支持分页和排序。
页面一次显示表中的一行数据用于元组中字段的字符较多表格显示时浏览不便这时以表单查询方式作为辅助。
用户可以根据需求在两种表示方式间切换。
第四用户可以直接输入SQL查询语句。
对于比较复杂的查询比如多表连接、复合查询条件、单纯依靠系统提供的功能组合无法完成所以提供一个用户输入界面由用户直接输入SQL语句查询。
直接输入SQL语句查询需要注意的事项主要有 1权限检查用户不允许查看没有QUERY权限的数据。
2操作控制不允许用户进行UPDATE、DELECT、INSERT、CREATE等操作对于以上几种操作由于浏览工具的用户没有执行权限系统会拒绝执行。
6 3错误
报告当用户输入语句错误或进行没有权限的操作时无法执行提示用户检查语句重新输入。
软件的运行环境是客户端要求支持使用Microsoft Internet Explorer 6.0和firefox进行设计时注意firefox不支持shtml和一些其他未标准化的协议或脚本语言。
Web服务器和JSP/Servlet容器使用Tomcat 5.5数据库服务器使用MySQL 5。
天津大学2007届本科生毕业设计
论文 93.2 体系结构 在实现与数据存取密切相关系统应用扩展和修改频繁但对于客户操作界面等其它功能要求不强烈的情况下B/S体系结构是目前非常
常用的。
在这种结构下用户工作界面通过WWW浏览器来实现除极少部分事务逻辑在前端Browser实现主要事务逻辑在Server端实现形成了表示层、业务逻辑层、数据访问层的三层结构而且三层结构很大程度上是可以相互独立的任意一层的改变不影响其它层功能的发挥。
7这样的好处是第一大大减轻了系统维护与升级的成本和工作量降低用户总体成本支出。
第二接入方式多样可以通过LAN局域网、WAN广域网、Internet/Intranet企业内部互连网等不同的方式接入访问和操作共同的数据库。
第三有效的保护数据平台和管理访问权限提高系统安全性。
JSP三层体系结构示意图如图3-1所示。
图3-1 JSP三层体系结构 表示层Web浏览器在表示层中包含系统的显示逻辑位于客户端。
它的任务是由Web浏览器向
网络上的某一Web服务器提出服务请求Web服务器对用户身份进行验证后用HTTP协议把所需的主页传送给客户端客户机接受传来的主页文件并把它显示在Web浏览器上。
在业务逻辑层中包含系统的事务处理逻辑位于Web服务器端。
它的任务是接受用户的请求首先需要执行相应的扩展应用程序与数据库进行连接通过SQL等方式 向数据库服务器提出数据处理申请而后等数据库服务器将数据处理.