文献综述范文文档格式.docx
《文献综述范文文档格式.docx》由会员分享,可在线阅读,更多相关《文献综述范文文档格式.docx(8页珍藏版)》请在冰豆网上搜索。
JSP的开发人员可以通过使用Jav.aBeans、EJB和Servlet来完成大部分与网站逻辑相关的工作,而仅仅把显示的工作交给JSP页面来完成。
内容和显示逻辑分开的好处在于,更新页面外观的人员不必懂得Java代码,而更新Java类的人员也不必是设计网页的行家。
这就可以用带Java类的JSP页面来定义Web模板,以建立一个具有相似外观的页面组成的网站。
Java类完成数据提供,在模板中就没有Java代码,这意味着这模板可以由一个HTML编写人员来维护。
JSP作为当前主流的网页开发技术,具有如下特点:
(1)将内容的生成徊显示进行分离:
使用JSp技术.Web页面丌发人员可以使用HTML或者XML标识来设计和格式化最终的页而。
使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求米变化的)。
生成内容的逻辑被封装在标识和JavaBeans组件中,并且被捆绑在小脚本中,所有的脚本在服务器端运行。
如果核心逻辑被封装在标识和JavaBeans中,那么其他人,如Web管理人员和页面设计者,就能
够编辑和使用JSP页面,而不影响内容的生成。
(2)强调aJ.重用的组件:
绝大多数JSP页而依赖于可重J1丁的、跨平台的组件来完成应用程序所要求的更为复杂的处理。
得益于Java的操作平台无关性,l丌发人员能够很方便共享和交流执行普通操作的组件,或者使得这些组件为更多的使用者所使用。
基于组件的方法加速了总体的开发过程,极大地提高了项日整体开发的效率。
虽然JSP功能强大,但是它要求网页开发人员对Java相当熟悉。
而现在Java程序员还比较少,对一般的网页开发人员来说,JSP的语法还是比较难丁掌握的。
所以,就需要有一种网页开发T具,为一般的网页开发人员提供常用的JSP应用,让只懂得一般页而开发技术(HTML)的开发人员也能够使用JSP的强大功能。
2、系统设计及实现
2.1设计目标
本系统的设计目标是为只懂得HTML但完全不了解JSP的一般网页开发人员提供一个网页开发工具,使他们能够根据系统文档,通过标签使用JSP的常用功能.最后生成一个只包含静态HTML和JSP标签的动态JSP网页。
2.2主要技术
本系统在设计时,主要考虑使用模板和JSP标签的技术来实现。
2.2.1模板技术
模板技术被广泛地应用于各种开发和应用系统中。
它预先生成一些常用的框架结构,使用户可以根据自己的需要方便地从模板库中选择模板,而不用自己重新去搭建,节省了用户的开发时间.方便了用户的使用。
在本系统中,将页面按照功能类型进行分类,归纳出常用的页面类型,生成模板库。
2.2.2标签库技术
在JSP中,动作是可以创造与访问程序语言对象和影响输出流的元素。
JSP定义了6个标准的动作。
除了这6个标准动作以外,用户可以定义自己的动作来完成特定的功能。
这些动作被称为客户化动作,它们是可重用的程序模块。
通过这些动作,程序员就可以在JSP页面中把页面的显示功能也部分地封装起来,使整个页面更加简洁和易于维护。
在一个JSP页面中。
这些客户化动作是通过客户化标签来调用的。
而标签库(TagLibrary)就是客户化标签的集合。
JSP标签库是一种通过JavaBeans生成基于XML的呦本的方法。
它是JSP的最大特点之一。
通过标签库.能够无限制地扩展JSP应用,完成任何复杂的应用需求。
JSP标签库具有以下特点:
(1)易于使用:
JSP中的标签和一般的fiTML标记外表上是完全一样的,使用起来和普通的HTML标记一样方便。
(2)易于代码重用:
标签库中的每一个标签都能完成一定的功能。
一旦定义好了一个标签库,只需要把这个标签库包装成一个Jar文件,那么以后只要在别的系统中使用这个标签库就行了,而不用重新开发代码,极大地提高了系统开发效率,降低了开发成本。
(3)易于代码维护:
所有的应用逻辑都封装在标签处理器和JavaBeans中,所有的标签都集中在一个标签库中。
如果需要更新代码或者需耍修改一个网页上的功能,只需要修改相应的标签即可。
通过这种统一维护方式,不用在每个网贞上去作修改,极大地减少了维护的工作量.节约了维护成本。
(4)易于系统扩充:
如果需要向系统中添加新的:
L力能,只需要定义一个新的标签米完成这一功能即可,无需对系统的其它方面作任何改动。
标签库可以继承JSP规范各方而的特性。
这样就r以无限制地扩展和增加JSP的功能,而不需要等待下一版本JSP的出现。
2.3系统组成
本系统主要由4个部分组成。
(1)数据库连接部分:
本系统支持常用的几个数据库,包括Oracle、Sybase、MSSQLServer、MySQL和DB2,根据用户选择的数据库类和用户提供的数据库名称、用户名及密码,使用JDBC与数据库相连。
(2)系统基本表生成部分:
与数据库连接以后,根据同数据库相连的用户名生成两个系统基本表TC-Tables和TC—Columns,TC—Tables表包含在该数据库中属于该用户所有表的英文名称、中文名称和一些属性,如是含修改、是否可查询等;
TC—Columns表包含在该数据库中属于该用户的所有表有列的中英文名称和其它一些属性。
如是否可显示、是否可查询等这两个系统基本表在整个系统的丌发过程中提供用户所使用数据库的基本信息。
(3)模板选择和网页生成部分:
该部分是系统的核心部分。
它包含了两个子模块:
①模板选择部分:
系统为用户提供模板选择界面,让用户根据需要从模板库中选择所要使用的模板。
②模板处理部分:
根据用户选择的模板,系统调用指定的模板处理模块对这个模板进行处理。
当处理程序遇到模板中的标签时,就为用户提供交互界面,让用户为指定的标签输入参数,并由系统验证用户输入的标签的有效性。
最后由系统完成JSP页面的生成。
(4)网页预览和修改部分:
网页生成出来以后.系统为用户提供了一个网页预览窗口和代码查看修改窗口。
通过这个预览窗口,用户可以预览一下生成出来的JSP页面的效果。
如果用户对页面的静态方面的效果不太满意,用户可以通过代码查看修改窗口修改代码中的HTML代码。
如果用户对页面的静态效果有进一步的要求.系统还为用户提供了一个调用DreamWeaver编辑器的接口,用户可以使用它来
对生成出米的JSP页面的静态效果进行进一步的修改和完善。
2.4系统的实现
2.4.1模板库和标签库的实现标签库的规划和设计在整个系统设计中至关重要,它关系到了代码重用的程度和系统运行的效率。
它的规划应该遵循以下原则。
(1)在标签巾应该尽量少的包含静态的HTML。
对于一般用户来说,标签是透明的。
用户不能够查看和修改标签。
如果在标签中包含了过多的静态HT-ML语句,将影响用户对页而的静态效果的修改和完善,限制标签的使用。
(2)尽量提高代码的重用度。
在对JSP应用进行分类时,尽量把公用的JSP应用提取出来,形成标签。
而不用在每个标签中都重复实现该应用。
这样在以后要对该应用进行修改和完善时,只需对这一个标签进行修改即可,易于代码的维护。
(3)方便用户的使用。
在设计标签库时,应该充分考虑到用户的使用情况,使用户能够很容易和方便地理解和使用标签。
①标签库的定义:
定义一个标签库,必须首先定义一个标签库描述文件(TLD)。
这是一个基于XML的脚本文件,在这个文件中定义了XML的版本、所使用的编码、标签审的版本、所使用JSP的版本、标签库的名称和这个库中所包含的所有标签的定义和参数描述,包括标签的名称,标签所对应的Java类,标签的描述信息等。
②标签的实现:
一个标签就是一个特殊的Java类,这个类必须继承TagSuppolt类,这个类是在javax.servlet.jsp.tagext包中定义的。
在标签类中,包含了这个标签的参数初始化方法(Set/Get)、标签的主体处理方法(Handler)以及供下一级标签调用的方法等。
③模板的实现:
一个模板就是一个含有标签引用的JSP文件。
为。
J,在模板中引用所定义的标签。
必须首先引入标签库。
<
%@tagliburi=“tag.tld”prefix=“etag”%>
其中uri指定标签库描述文件的路径;
pre—fix指定引用标签时所使用的前缀。
在模板中引用指定的标签时,使用引入标签库时所指定的前缀,指定标签的名称;
为标签的参数赋值。
2.4.2系统开发环境
本系统主体程序开发使用的是Borland公司的JBuilder6.0,模板开发使用是Microsoft公司的Front—Page2000。
标签库开发使用的是U1.traEdit编辑器,JDK采用的是JDK1.4。
系统测试环境是JRun3.0。
3、常见动态网页技术开发比较
传统的Web应用只提供有限的静态Web页面,不能根据用户的需求提供不同的信息(包括显示格式和内容)。
随着计算机和互联网技术的飞速发展,由于动态网页具有良好的交互性、数据库查询、缩短查询时间、提高浏览效率等一些静态网页所无法比拟的优点,逐渐成为构建WEB网站的主流。
常见的动态网页技术有CGI、PHP、ASP和JSP等几种。
3.1CGl简介
CGI(CommonGatewayInterface)是实现在服务器端执行程序的一种方法,运行程序输出的是HTML页面,然后wFB服务
器再把这个静态页面返回给浏览器作为请求的响应。
最流行的CGI语言是Perl和shel1脚本,但是也可以使用C、c¨
以及Java等语言进行编写。
CGI可以访问存储在数据库中的数据或者其他系统中的文件,实现动态生成WEB页面的效果。
许多著名网站,如新浪、雅虎、网易的搜索引擎都采用了CGI技术。
CGI有较强的进程隔离功能,每个CGI程序运行于自己的进程空间,独立于wEB服务器。
由于对CGI的每一个请求都要产生一个独立的进程,因此执行效率受到较大影响,占用计算机资源也较多。
为了提高性能,CGI的编程技术也不断发展,如HFastCGI技术。
PHP、ASP和JSP都是一个进程处理多个请求的,无论多少人在线,都只有一个进程,执行效率相比于CGI要高得多。
3.2PHP、ASP和JSP技术特点比较
3.2.1.在编程语言方面
PHP(ProfessionalHypertextPreprocessor)是一种用于创建动态WEB页面的服务器端脚本语言,融合了C、Java以及Perl语言的语法。
用户可以混合使用PHP和HTML编写WEB页面,当访问者浏览到该页面时,服务器端PHP语言引擎会首先对页有着许多相似之处,同时又有各自的特点。
文章重点从编程面中的PHP命令进行处理,然后把处理后的结果连同HTML内容一起返回给访问端的浏览器。
ASP(ActiveServerPages)是一个微软推出的WEBH~务器端的开发环境,采用~VBScript和JavaScript两种脚本语言作为嵌入在HTML中的服务器端编程语言。
客户端请求网页时,ASP文件先由服务器端解释执行,冉将执行结果以HTML形式返回到客户端浏览器显示。
JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。
JSP是基于JAVA技术的,使用Java编程语言编写类XML的JSP标记和Java程序段来封装产生动态网页的处理逻辑,再在传统的HTML网页文件中插入Java程序段~HJSP标记,从而形成JSP文件。
从以上可以看出,二三者都提供了在HTML代码中混合某种程序代码、由语言引擎解释执行程序代码的能力。
但相比较于fBScript之类的脚本语言,Java语言不仅功能强大而且更易于使用。
开发者不仅可以创建自己的可重用组件,而且还能够任意地使用整个JavaAPI处理基本的、低级的事务,如宁符串处理、文件I/O和数学计算。
3.2.2.在平台支持方面
ASP仅能运行在微软的WI~OWS系列平台,还必须要有IIS或PWS的支持。
虽然ASP技术和COM组件可以通过chi¨
插件在
Unix平台下使用,但是功能强大的DCOM控件却不能使用。
这样对于动态网页开发者来说ASP就不是一个理想的选择。
JSP同PHP类似,几乎可以运行于所有的平台。
“WriteOnce,RunAnywhere”准确地描述了JSP的这一特性。
虽然,
现在WINDOWS系列操作系统占了很大的市场份额,但是在服务器方面Unix的优势仍然很明显,而新崛起的Linux更是来势不小。
ASP在这一方面的逆势明显可见。
从一个平台移植到另外个平台,JSP和JavaBeans甚至不用重新编译,因为JSP编译后的Java字节码是与平台无关的。
3.2.3.在应用性能方面
运行时,JSP代码先被翻译成Servlet(服务器端的Java程序),因为是在服务器端运行,不需要加载沉重的GUI,所以Servlet比传统的JAVA程序执行要快,尤其是在使用图形化界面时。
另外,Servlet编译后的Java字节码只有在被请求时才执行,同时服务器会缓存运行的Servlet,所以尽管当首次调用Servlet时会有几秒钟的加载时间,但对后续的客户端请求响应会非常快。
因此,JSP的执行比每次都要解释执行的ASP代码要快,尤其是在代码中存在循环操作时。
有人做过实验,对这三种语言分别做循环性能测试及存取0racle数据库测试。
在循环性能测试中,JSp只用了令人吃惊的4秒就结束了20000x20000的循环。
而ASP和PHP测试的是2000x2000循环,却分别用了63秒和84秒。
数据库测试中,三者分别对oracle8数据库进行了1000次Insert(插入)、Update(修改)、Select(查询)和Delete(删除)操作,JSP花费了l3秒,PHP需要69秒,而ASP~U需要73秒。
从数据中可以看出,不管是循环操作,还是数据库操作,JSP都LLASP和PHP的执行效率要高得多。
3.2.4.在体系结构方面
PHP是一种跨平台的服务器端的嵌入式语言,平台可移植性和JsP一样非常好。
但PHP的技术体系不符合分布式应用体
系,缺乏多层结构支持。
对于大负荷的网站,只能使用分布式计算来解决问题。
ASP和JSP则没有以上缺陷。
ASP可以通过COM/DCOM(ComponentObjectModel/DistributedCOM,组件式对象模型/分布式组件对象模型)获ActiveX规模支持,通过DCOM$1MTS(MicrosoftTransactionServer,微软事务服务器)获得结构支持。
JSPJ2EE(JavaEnterpriseEdition,Java2企业版)的一部份。
JsP可以通过JavaBeans和EJB(EnterpriseJavaBean,企业级JavaBean)获得规模支持,通过EJB/CORBA以及众多厂商的应用服务器获得结构支持。
3.2.5.在安全性方面
ASP虽然提供了强大的功能,但是ASP也并不是尽善尽美的。
第一,由于ASP程序采用非编译性语言,大大降低了程序源代码的安全性。
如果黑客侵入站点,利用IIs存在的漏洞,就可以获得ASP源代码。
第二,ASP代码使用表单实现交互,而相应的内容会反映在浏览器的地址栏中,如果不采用适当的安全措施。
只要记下这些内容,就可以绕过验证直接进入某一页面。
第三,ASP的标准组件FileSystemObject为ASP提供了强大的文件系统的访问能力,可以对服务器硬盘上的任何文件进行读、写、删除等操作。
如果ASP在编写时存在漏洞,那么黑客只要上传一个ASP木马便能控制整个服务器。
这样就会给服务器带来非常严重的威胁。
第四,ASP只能应用于windows系列平台,但windows系列平台安全漏洞太多。
由以上可见ASP在安全性方面的弊端。
PHP4.1.2以下的所有版本都存在文件上传远程
缓冲区溢出漏洞、远程拒绝服务及安全模式被绕过漏洞,而且攻击程序已经广泛流传,成功率也非常高,因此要及时升级PHP到4.1.2以上版本。
JSP解决了目前ASP、PHP的一个通病——脚本级执行,每个JSP文件总是先被翻译成Servlet,再编译Servlet生成可执行的二进制字节码,保存在缓存中,接着由虚拟机解释执行该字节码,生成纯的HTML页面作为响应发送回给客户端浏览器。
以上的过程只是在客户第一次请求该页面时发生,以后的请求将重用缓存中编译好的字节码。
因此源码不易被下载,尤其在使用JavaBean之后安全性更高。
另外,PHP和JSP除了可以应用于windows系列平台外,还可应用于安全漏洞较少的unix、linux等平台。
JSP在安全性方面的优势明显可见。
3.2.6.在访问数据库方面
虽然PHP支持的数据库极其广泛,但PHP提供的数据库接口支持不统一,比如对Oracle、MvSQL、Sybase的接口彼此都不一样。
这是PHP的一个弱点。
但PHP是内置对MYSQL支持的,不需安装额外的驱动程序,使用起来很方便,访问速度也比较快。
同时PHP与MYSQL都是免费的,是动态WEB网站开发的绝佳组合。
ASP使用0DBC(OpenDatabaseConnectivity,开放数据库互连)技术访问数据库。
在具体应用中,一般通过ADO(ActiveXDataObjects,ActiveX数据对象)实现对数据库的操作使用ADO的connection、command和recordset对象可以完成与数据库连接的建立,SQL语句的执行,查询结果集合的保存、遍历和显示等工作。
JSP使用称为JDBC的技术实现对数据库的访问。
目标数据库必须有一个JDBC驱动程序,即一个从数据库到Java的接口,该接口提供标准的方法使Java应用程序能够连接到数据库并执行查询。
采用JDBC连接数据库,连接建立的时间比ODBC稍长,但可以使用JDBC连接池技术来实现多用户并发数据库访问。
连接池的使用,能够大大地提高Java在Web数据库应用中的性能,当前主要的Java应用服务器,例~Nwebsphare,weblogic等,都实现内建的连接池类。
4、总结
常见的动态网页技术各有自己的优缺点和适用范围。
CGI占用计算机资源较多,执行效率不佳。
PHP的技术体系不符合分布式应用体系,缺乏多层结构支持,使得它不适合应用于大型电子商务站点。
ASP在应用体系结构方面有着很大的优势,但其仅被windows系统很好支持的弊端使得应用前景不是太理
想。
目前大型的电子商务解决方案提供商基本上都采用了JSP/Servlet技术体系。
比较出名的如IBM的E-business,它的核心是采用JSP/Servlet的WebSphere;
西方另外一个非常著名的电子商务软件提供商Intershop。
它原来的产品Intershopl,2,3,4占据了主要的电子商务软件份额。
它们都是
通过CGI来提供支持的。
但后来该公司推出了Enfinity,一个采用JSP/Servlet技术体系的电子商务应用服务器,而且声称不再开发传统软件。
Java是未来开发语言的主流。
而Java在Web上的主要应用JSP也必将成为未来Web开发的主流技术。
本系统采用了JSP的最大特点之一的标签库,使一般的Web开发人员也能够方便地使用JSP强大的动态页面功能。
开发出技术先进的JSP动态Web页面。
由于本系统采用Java语言进行开发,所以可以在任何支持图形化界面的操作系统下运行,实现了完全的与平台无关。
本系统易于扩充和完善。
在以后可以考虑为用户提供接口,使用户可以自己扩充
【参考文献】
【1】邹竹彪.JSP网络编程从入门到精通【M】.北京:
清华大学出版社.2007.6.
【2】何增颖.基于动态交互的Web开发技术探讨U】_福建电脑.2007
(1).
【3】傅丰.浅议ASP、jsp和PHP[1].微型电脑应用,2004,20
(2).
【4】方俊.电子商务网站平台3p技术的安全性探讨U1.福建电脑.2006(10).
【5】李明江.动态网页技术JSP与ASP、PHP的比较浅析Ⅱ].黔南民族师范学院学报,2005(3).