




已阅读5页,还剩110页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于JSP的WEB数据库访问技术的研究基于JSP的Web数据库的访问技术的研究Research on Access Technology to WEB Database Based on JSP摘要Web数据库技术伴随着WWW 的成长,成为当前信息技术人员关注的热点之一。基于Web的数据库访问技术是指:在客户端,安装 Web浏览器作为用户输入查询条件和显示查询结果的交互界面。目前,人们普遍采用ASP技术作为动态网站建设的技术,虽然用ASP开发服务器程序的技术已经很成熟,但是ASP技术也存在着很多缺陷,如安全性低,适应性差,维护复杂等。随着JAVA和JSP技术的出现,为网站建设又开辟出了一条崭新的道路。本文介绍了Web数据库访问的一些技术及他们的优缺点,再着重介绍了JAVA技术中的JSP、JavaBean、MVC、JDBC、Connection Pool等技术,再通过基于JSP相关技术的WEB网站开发实例来诠释JSP技术在WEB开发中的优势及地位,最后表达了Web数据库不久的将来发展的一个趋势。关键词:JSP、JDBC 、MVC、JavaBean、Connection Pool、非结构化数据库、 异构数据库AbstracttheWWW Web database technology with the growth of information technology, become the focus of attention personnel. Based on the Web database access technology refers to the client, install a Web browser display conditions and user input inquires interface query result. Now, it is generally USES ASP technology as a dynamic website construction technology, although use ASP server program technology has developed very mature, but the ASP technology exists many defects, such as safety, maintenance unadaptable, etc. As JAVA and JSP technology for website construction and open a new road. The paper introduces some Web database access technology and their advantages and disadvantages, then emphatically introduces the JSP, JAVA technologies JavaBean, MVC, JDBC Connection Pool technology, based on JSP, again through the Web sites related technologies to develop Web development in interpretation JSP technology, the advantage and the final expressed Web database in the near future development trend.Keywords: JSP, JDBC Connection, and MVC, JavaBean Pool, non _ structural database, heterogeneous database目录摘要3绪论4第1章5访问WEB数据库的技术分析51.1 WWW网络环境下Web数据库51.2访问Web数据库的几种技术61.2.1 CGI(公共网关接口)技术7122web 服务器专用API技术7123 ODBC技术81.2.4 ASP与ADO技术81.2.5 JSP/JDBC技术91.2.6 PHP技术1013 访问WEB数据库几种技术优缺点比较10131 CGI的优缺点分析10132 webAPI技术的优缺点分析10133 ODBC技术优缺点分析11134 ASP技术优缺点分析11135 JSP/JDBC优缺点分析12136 PHP技术优缺点分析12第二章14JAVA1421 JAVA简介1422 Java Web及相关技术14221 JSP技术142.2.2 Servlet技术152.2.3 JavaBean17224 MVC设计模式1823 JSP的特点和其他动态网页开发技术的比较192.3.1 JSP 的特点:19232 JSP与 PHP比较20233 JSP与ASP比较20234 JSP与其他技术比较结果20224 动态网页技术的性能比较:21第3章22Web数据库的访问与连接2231 JDBC22311JDBC定义:22312 JDBC用途及特点22313 JDBC的体系结构23314构成JDBC的组件24315影响JDBC性能的可能因素24316 JDBC与ODBC和其它API的比较25317 JDBC访问数据库步骤26318 JDBC访问数据库程序实例2732 JDBC驱动程序性能的优化2833连接池(Connection Pool)323.3.1连接池的定义323.3.2使用连接池的优点32333连接池运作原理33334 推荐使用连接池33335连接池比长连接更安全34第4章35基于JSP的Web网站创建与研究实例3541 开发环境的配置35411安装Tomcat35412安装MyEclipse插件35413部署Tomcat步骤3542创建JSP项目步聚3743 企业宣传网站实例39431创建一个WEB工程39432网站涉及页面39433项目框架搭建40434 公共类的创建40435创建数据库41436创建实体类41437公共类的实现及SQL相关参数设置42438用户表USERS的创建43439聊天室用户登录验证434310注册用户及显示所有用户444311商品类及相关页面454312新闻业务类464313聊天窗口474314后台管理及逻辑484315 新留言本的实现504316后期完善工作50第5章5421世纪Web数据库发展的趋势5451 WWW网络环境下Web数据库5452 Web数据库的发展趋势55521.非结构化数据库55522.异构数据库系统5553 Web应用系统体系结构56结论58致 谢59参考文献60绪论World Wide Web(www)是当今Internet上最主要的信息服务,静态Web站点中各种形式的数据以文件方式存在,当信息量以几何级数增加时信息的发布和维护就显得极为困难;而另一方面,用户对信息的实时性、交互性的要求随着信息技术的发展已变得理所应当。同时,数据库技术经过几十年的发展日益成熟起来,Oracle、DB2、Informix、 Sybase、MSSQL Server 等数据库系统的功能日趋强盛。Web技术与数据库技术的结合能够综合二者的长处、发挥二者的潜力,充分利用已有的数据库信息素材。基于Web的数据库访问技术是指:在客户端,安装 Web浏览器作为用户输入查询条件和显示查询结果的交互界面。用户可以通过填写表格或输入要害字的方式来与WWW进行交互当用户单击表格上的按钮时表格中的数据便发送到Web服务器。这种交互性提高了用户参与的积极性。在构建基于WEB的企业管理信息系统中,如何通过浏览并查询数据库以及维护数据库成为建设一个有效的网络管理信息系统的关键所在,为了实现基于WEB的数据库访问,需要有WebServer与DBMS(Database Management System)之间的接口,即WEB与数据库的连接技术。目前,人们普遍采用ASP技术作为动态网站建设的技术,虽然用ASP开发服务器程序的技术已经很成熟,但是ASP技术也存在着很多缺陷,如安全性低,适应性差,维护复杂等。随着JAVA和JSP技术的出现,为网站建设又开辟出了一条崭新的道路。JSP是Sun公司基于Java技术推出的新一代站点开发语言,也是一种开发WEB后台程序的技术,它可以在Servlet和JavaBean的支持下,完成功能强大的站点程序开发,特别是对WEB数据库的访问操作设计,目前,几乎所有平台都支持JAVA,JSP+JavaBean可以在所有平台下通行无阴,这是ASP无法比拟的。此外,与ASP相比,JSP还具有诸如运行速度快(访问数据库),安全性高(Servlet/与JSP分离)易于扩展(JavaBean)特独特优点。JSP与数据库连接有两种方法,分别是JDBC(JavaBean)技术和连接池(Connection Pool)技术。第1章访问WEB数据库的技术分析进入70年代后,在社会大系统中出现了巨大的信息流和与之相伴的宏大的数据流,为了适应和满足社会发展的需要,必须采用新的技术和手段来对这些数据进行收集、存储、加工、检索、分类、统计和传输等,于是数据库技术不可避免地产生了。由于计算机被广泛地应用于数据管理领域以及互联网的迅速普及,人们对数据共享和联机实时处理的要求也越来越高,于是数据库技术又在不断地发展改进。1.1 WWW网络环境下Web数据库由于Web的易用性、实用性,它很快占据了主导地位,目前已经成为使用最为广泛、最有前途、最有魅力的信息传播技术。不过,Web服务只是提供了Internet上信息交互的平台,要想实现真正的Internet,就要将人、企业、社会与Internet融为一体,这就要靠信息化应用的实现。电子商务是以Web网络技术和数据库技术为支撑的,其中Web数据库技术是电子商务的核心技术。支持电子商务已经成为各大厂商竞争的焦点,Web数据库的发展成为新的热点和难题。Web数据库,就是能将数据库技术与Web技术很好地融合在一起,使数据库系统成为Web的重要有机组成部分的数据库,能够实现数据库与网络技术的无缝有机结合。目前,关系数据库的应用范围最广,占据了数据库主流地位。关系数据库最初设计为基于主机/终端方式的大型机上的应用,其应用范围较为有限,随着客户机/服务器方式的流行和应用向客户机方的分解,关系数据库又经历了客户机/服务器时代,并获得了极大的发展。随着Internet应用的普及,由于Internet上信息资源的复杂性和不规范性,关系数据库初期在开发各种网上应用时显得力不从心,表现在无法管理各种网上的复杂的文档型和多媒体型数据资源,后来关系数据库对于这些需求作出了一些适应性调整,如增加数据库的面向对象成分以增加处理多种复杂数据类型的能力,增加各种中间件(主要包括CGI、ISAPI、ODBC、JDBC、ASP等技术)以扩展基于Internet应用能力,通过应用服务器解释执行各种HTML中嵌入脚本来解决Internet应用中数据库数据的显示、维护、输出以及到HTML的格式转换等。此时关系数据库的基于Internet应用的模式典型表现为一种三层或四层的多层结构。在这种多层结构体系下,关系数据库解决了数据库的Internet应用的方法问题,使得基于关系数据库能够开发各种网上数据库数据的发布、检索、维护、数据管理等一般性应用。1.2访问Web数据库的几种技术WEB数据库实现的关键技术要解决两个方面的问题,一要实现将客户端文件资料通过浏览器上载到WEB服务器,并将文件内容保存到数据库中;二是要实现从数据库中读取资料内容,并将内容发送到客户端浏览器。以客户端的WEB游览器为用户的交互界面,通过它输入查询条件和显示查询结果。用户可以与WWW进行交互,例如填写表单方式,当用户单击表格上的按钮时,表格里的数据传送至要被处理的脚本或应用程序中。最后,服务器将返回结果插入到静态HTML页面,传送至客户端以响应用户。人们通过统一的浏览器可以访问不同的数据库。实现WEB数据库的应用通常有两种方法:另一种是WEB服务器羰提供中间件连接WEB服务器和数据库服务器;别一种是把应用程序下载到客户端直接访问数据库。所有涉及WEB数据库的连接访问,其目的都是保持与数据库的快速连接。下面我们对这些访问技术进行分析研究。目前,在Windows操作系统平台上,主要有下述几种访问Web数据库的技术。1.2.1 CGI(公共网关接口)技术CGI是较早实现的访问Web数据库的技术,并在商务网站的开发中起着重要的作用。目前在商务网站的创建过程中,CGI常常被用来对HTML表单和后台数据库进行操作,例如,利用CGI对数据库中的数据进行搜索、添加和修改等。执行CGI时可以生成HTML文档,并将该文档返回Web服务器。CGI还能够与用户浏览器进行交互,并通过API与数据库服务器进行通信。使用CGI方式访问Web数据库有一些缺点,例如,不易开发和维护应用程序,功能有限、不易查错、执行速度慢,并且不兼容HTML文档等。此外,一个运行中的CGI程序不能为多个用户共享,对于新的请求必须启动新的进程。122web 服务器专用API技术数据库程序的一个关键组件是数据库API(Application Program Interface)。每个数据库引擎都带有一系列库(如Windows NT下使用的动态链接库)。只有通过这种库,应用程序才能连接和使用数据库引擎。对于特定的数据库产品,应用程序对动态链接库的调用是专用的。根据定义,每种数据库系统都有属于自己的专有调用接口,例如对SQL Server设计的API程序,就不能用它访问Oracle或Informix数据库。 Web服务器的供应商为了扩展服务器的性能,各自开发了API应用程序接口来取代CGI。目前最流行的两种API是Microsoft的ISAPI和Netscape的NSAPI,这两种接口允许我们以标准方式编写Web服务器交互的应用程序。其中对数据库访问的功能主要是以IDC文件形式提供给客户的,在IDC文件中定义了数据源、返回的模板以及动态的SQL语句。 ISAPI是Microsoft提供的一套面向Internet服务的API接口,用它编制的程序以动态链接库(DLL)的形式存在,可实现CGI程序所能提供的全部功能。ISAPI的工作原理和CGI大体上是相同的,都是通过交互式主页取得用户输入信息,然后交服务器后台处理。但是二者在实现机制上大相径庭。ISAPI与CGI最大的区别在于:在ISAPI下建立的应用程序都是以动态链接库的形式存在的;而CGI的应用程序一般都是可执行程序,因此ISAPI的运行效率要显著高于CGI程序。123 ODBC技术API方法与Web服务器结合紧密,所以性能较高。但是利用底层的API开发数据库访问程序仍然很困难,因此一般使用基于底层API的高层数据库编程接口,这就是我们所说的ODBC。ODBC是开放数据库互连的简称,是一种使用SQL的应用程序接口(API)。ODBC一个最显著的优点是用它生成的程序与数据库或数据库引擎是无关的。ODBC可使程序员方便地编写访问各DBMS厂商的数据库的应用程序,而不需了解其产品的细节。Web服务器通过数据库驱动程序ODBC向数据库服务器发出SQL请求,数据库服务器接到的是标准的SQL查询语句,数据管理系统执行SQL查询并将查询结果再通过ODBC传回Web服务器。许多服务器扩展程序使用包含ODBC层的系统结构。ODBC是为调用关系数据库提供统一途径的一类API,由于它适用于许多不同的数据库产品,因此是服务器扩展程序开发者们理所当然的选择。 1.2.4 ASP与ADO技术ASP(Active Server Page,现行服务器页)是一个服务器端的脚本执行环境,用户可用它产生和执行动态的、交互的、高性能的Web服务器应用程序。当程序在服务器而不是在客户端执行时,Web服务器将完成产生浏览器的HTML页的所有工作。当浏览器向Web服务器提出文件(.asp)请求时,一个ASP脚本就开始执行,这时Web服务器调用ASP,把该文件全部读入并执行每一条命令,然后将结果以HTML的页面形式送回浏览器。由于ASP在服务器上运行,所以ASP的源程序代码不会传到用户的浏览器,可保护源程序不会外漏。此外,ASP也是面向对象的,而且还可自己制作ActiveX服务器组件来扩充功能,可使用VB,Java,Visual C+,COBOL等程序语言来实现。ADO是ASP内置的一个组件,含有多个用于在ASP脚本程序中访问后台数据库的ActiveX数据对象。使用ASP编程访问Web数据库时,必然要使用ADO组件中的这些数据对象。ASP和ADO相结合,为Web数据库的访问提供了一个完整的解决方案。利用ASP与ADO访问Web数据库时,首先由客户端浏览器向Web服务器请求某个ASP页面(该页面中含有访问数据库的语句),Web服务器随后启动该页面中的ASP脚本程序,然后通过调用ADO对象和ODBC接口实现对Web数据库的访问,最后再由Web服务器将访问的结果返回到客户端浏览器。1.2.5 JSP/JDBC技术Java语言显示出优于以往编程语言的诸多特色,赢得了众多数据库厂商的支持。为了同时连接到多个数据库进行并行的联合查询,可以充分利用Java语言本身的特色。由于Java是一种面向对象的、多线程的网络编程语言,因此能够用多个线程对应多个不同的数据库进行查询操作。用户发出的同一条查询语句同时启动多个线程,并行运行,同时进行异构数据库的联合查询。 在数据库处理方面,Java提供了JDBC(Java数据库连接:Java Database Connectivity),为数据库开发应用提供了标准的应用程序编程接口。与ODBC类似,JDBC也是一种特殊的API,是用于执行SQL语句的Java应用程序接口(Java API),它规定了Java如何与数据库进行交互作用。JDBC由一组用Java语言写的类和接口组成,利用Java机制设计的标准SQL数据库连接接口JDBC去访问数据库。JDBC也是一种规范,其宗旨是让各数据库开发商为Java程序员提供标准的数据库访问类和接口。JDBC与Java结合,使用户很容易地把SQL语句传送到任何关系数据库中,程序员用它编写的数据库应用软件,可在各种数据库系统上运行。采用JDBC可以很容易用SQL语句访问任何商用数据库(或称异构数据库),如SQL Server,Sybase或Oracle。采用Java和JDBC编写的数据库应用程序具有与平台无关的特性,很容易用SQL语句访问任何商用数据库,而不必为每一种数据库平台编写不同的程序。 与ODBC一样,JDBC提供给程序员的编程接口由两部分组成,即面向应用的编程接口JDBC API和供底层开发的驱动程序接口JDBC Driver API。JDBC API是为应用程序员提供的,是一系列抽象的接口,它使得应用程序员能够进行数据库连接,执行SQL查询,并且得到返回结果。而JDBC Driver API则是为数据库厂商提供的编程接口。基于Java的JDBC发展迅速。Sun承诺任何Java Applet或者Java应用软件都能够与数据库结合。由于JDBC利用了Java的跨平台特色,因此,它成为Intranet和Internet环境下访问异构数据库的一种较优方式。JDBC保持了ODBC的基本特性。两者都基于X/Open SQL调用级接口(CLI:Call LevelInterface)标准。它们的不同就在于JDBC建立在Java语言基础上,并充分利用了其特色,易于使用;ODBC使用的是C界面,C语言大量使用了Java语言中没有的指针功能,不适于以Java为界面的JDBC直接使用。同时,JDBC确保了100%纯Java的解决方案。这样,JDBC应用无需像ODBC应用那样要进行客户机的安装和管理。1.2.6 PHP技术PHP是能让你生成动态网页的工具之一。PHP网页文件被当作一般HTML网页文件来处理并且在编辑时你可以用编辑HTML的常规方法编写PHP。PHP代表:超文本预处理器(PHP: Hypertext Preprocessor)。应用PHP有许多好处。当然已知的不利之处在于PHP由于是开放源码项目,没有什么商业支持,并且由此而带来的执行速度缓慢(直到PHP4之前)。但是 PHP的邮件列表很是有用而且除非你正在运行像Yahoo!或者A这样的极受欢迎的站点,你不会感觉出PHP的速度与其他的有什么不同。最起码我就没有感觉出来!13 访问WEB数据库几种技术优缺点比较131 CGI的优缺点分析优点是:跨平台性能好,几乎可在任何操作系统(如DOS、Windows、Unix、OS/2等)上实现。缺点是:CGI程序一般都是一个独立的可执行程序,与Web服务器各自占据着不同的进程,且一个CGI程序只能处理一个请求。对每个请求,CGI都会产生一个新的进程,同一时刻发出的请求越多,服务器产生的进程就越多,耗费的系统资源也越多。这样,在用户访问的高峰期,网站就会表现出响应时间延长、处理缓慢的情况,甚至可能导致整个网站的崩溃。另外,CGI的功能有限、开发较为复杂,且不具备事务处理功能,这在一定程度上限制了CGI的应用。132 webAPI技术的优缺点分析webAPI技术优点:webAPI开发程序,性能大大优于CGI程序。因为webAPI应用程序是与WEB服务器软件处于同一地址空间的DLL,因此所有的WEB服务器进程能勉励直接利用积各种资源,这显然比调用不在同一地址CGI程序所占用的系统时间要短,webAPI的出现解决了CGI的低效问题,与CGI相比,API应用程序与WEB服务器结合更紧密占用的资源要少得多,从而运行的效率却大大提高,同时还能提供更好的保护和安全性。webAPI的缺点是:1:编程比开发CGI程序更加困难,开发API程序需要多线程、进程同步、直接协议等知识。2:由于各种不同的API不兼容,缺乏一个统一的业界标准,用某种API编写的程序只能在特定的WEB服务器上运行,使用范围受到了极大的限制。133 ODBC技术优缺点分析ODBC优点:一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。也就是说,不论是FoxPro、Access还是Oracle数据库,均可用ODBC API进行访问。由此可见,ODBC的最大优点是能以统一的方式处理所有的数据库。ODBC缺点:Microsoft Developer Studio为大多数标准的数据库格式提供了32位ODBC驱动器。这些标准数据格式包括有SQL Server、Access、Paradox、dBase、FoxPro、Excel、Oracle以及Microsoft Text。如果用户希望使用其他数据格式,则需要安装相应的ODBC驱动器及DBMS。用户使用自己的DBMS数据库管理功能生成新的数据库模式后,就可以使用ODBC来登录数据源。对用户的应用程序来说,只要安装有驱动程序,就能注册很多不同的数据库。134 ASP技术优缺点分析ASP可以连接任何支持ODBC的数据库。利用它可以开发出动态、交互、高性能的Web服务器端的应用,且能较容易地实现复杂的Web应用。利用ASP开发的脚本程序全部运行在服务器端,极大地减少了对客户端的要求,同时有效地保护了开发人员的知识产权不受别人侵犯。利用ASP开发的网页是独立于浏览器的,即无论客户端采用的是文字浏览器还是InternetExplorer、NetscapeNavigator等都能够访问这些网页。与CGI相比,其运行效率较高,执行速度快,支持多线程,而且编写比较简单。与IDC相比,它能实现较复杂的功能,而且,ASP可以直接在HTML文件中包含可执行的脚本(如VBScrlpt或JavaScript),因此整个开发变得一体化。ASP的优点:1、ASP脚本集成于HTML中,容易生成,页面的开发与HTML完全一致,用普通的编辑器即可。无须编译和连接即可直接解释执行。2、独立于浏览器。用户端只要使用可解释常规HTML代码的浏览器,即可浏览ASP所设计的主页内容。ASP脚本是在站点服务器端执行的,用户端的浏览器不需要支持它。3、面向对象,可以扩展ActiveXServer构件。在ASP脚本中可以方便地引用系统组件和ASP的内置组件,并能通过定制ActiveX服务器组件来扩充功能。4、与任何ActiveXScript语言兼容。ASP的文件后缀名为.asp,以区别同样可以包含Script的HTML文件。5、源程序码不会外漏。ASP脚本在服务器上执行,传到用户浏览器的只是ASP执行结果所生成的常规HTML代码,这样源程序不易被盗取。ASP缺点如:网络安全性不够高;仅运行在Microsoft公司的WindowsNT与Windows9x平台及其提供的Windows操作系统。135 JSP/JDBC优缺点分析优点:(1)JSP技术是基于平台和服务器独立的。它广泛吸收和接纳了各种工具包、服务器组件和数据库开发商提供的产品,可以运行于IIS、Apache 、 Netscape等各种Web服务器,支持Solaris 、Windows 、MACOS 、Unix 、Linux等绝大多数操作系统平台。(2)JSP内置支持XML技术,使得开发者能够定制自己的标签,因而大大减少了对脚本语言的依赖和编程工作量。(而ASP尚不支持自定义标签)。(3)JSP突出的组件技术(包括JavaBean、 EJB定制的JSP标签)使JSP具有跨平台可重用性,大大加速了总体开发进程。(4)JSP对数据库的访问主要通过JDBC来实现的。对于只支持ODBC的数据库,可以通过JDBC ODBC Bridge来实现访问。这也就意味着JSP可以比ASP(只支持数据库)访问更多类型的数据库。缺点:(1) 与ASP一样,Java的一些优势正是它致命的问题所在。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。 (2) Java的运行速度是用class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。从另一方面,它还需要硬盘空间来储存一系列的.java文件和.class文件,以及对应的版本文件。136 PHP技术优缺点分析PHP优点:PHP 独特的语法混合了C,Java,Perl以及 PHP 式的新语法。它可以比 CGI 或者 Perl 更快速地执行动态网页。 PHP的源代码完全公开,不断地有新的函数库加入,以及不停地更新,使得 PHP 无论在 UNIX 或是 Win32 的平台上都可以有更多新的功能。PHP在4.0版后使用了全新的Zend引擎,其在最佳化之后的效率,比较传统 CGI 或者 ASP 等技术有了更好的表现。平台无关性是PHP的最大优点。PHP缺点:平台无关性是PHP的最大优点,但是在优点的背后,还是有一些小小的缺点的。如果在PHP中不使用ODBC,而用其自带的数据库函数(这样的效率要比使用ODBC高)来连接数据库的话, 使用不同的数据库,PHP的函数名不能统一。这样,使得程序的移植变得有些麻烦。第二章JAVA21 JAVA简介Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言(以下简称Java语言)和Java平台的总称。Java平台由Java虚拟机(Java Virtual Machine)和Java 应用编程接口(Application Programming Interface、简称API)构成。Java 应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。现在Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行。2.1.1 Java的三个体系JavaSE(Java2 Platform Standard Edition,java平台标准版),Java SE 以前称为 J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。JavaEE(Java 2 Platform,Enterprise Edition,java平台企业版,主要针对WEB开发),这个版本以前称为 J2EE。企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应用程序。Java EE 是在 Java SE 的基础上构建的,它提供 Web 服务、组件模型、管理和通信 API,可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和 Web 2.0 应用程序。 JavaME(Java 2 Platform Micro Edition,java平台微型版)。Java ME 为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。22 Java Web及相关技术 Java Web,是用Java技术来解决相关web互联网领域的技术总和。web包括:web服务器和web客户端两部分。Java在客户端的应用有java applet不过现在使用的很少,Java在服务器端的应用非常的丰富,比如Servlet,JSP和第三方框架等等。Java技术对Web领域的发展注入了强大的动力, java的强项是web开发,就是B/S(浏览器和服务器)的开发,不同于C/S(客户端和服务器)。221 JSP技术(1)JSP技术简介:JavaServer Pages (JSP) 是一种以 Java为主的跨平台web开发语言。JSP是由SUN公司倡导许多公司参与一起建立的一种基于Java的服务器端的动态网页技术标准。它为创建显示动态生成内容的Web页面提供了一个简洁而快速的方法。JSP技术的设计目的是使得构建基于Web的应用程序更加容易和快捷,而这些应用程序能够与各种Web 服务器、应用服务器和开发工具共同工作,因此它完全解决了目前ASP、PHP的一个通病脚本级执行。同时它还能应用于不同的操作平台上。当用户通过浏览器从Web服务器上请求JSP文件时,Web服务器首先响应该HTTP请求,并启动JSP解释器解释JSP文件中的JSP标记和小脚本,然后通过JDBC(Java Data Base Connection) 存取、查询数据库中的数据,并将结果返回最终以HTML页面的形式发送回浏览器。JSP规范给出了两种使用JSP来建立应用的模型即:单一的JSP模型和JSP与Servlet的混合模型。 (2)单一的JSP模型:在该模式中,浏览器通过HTTP协议发送JSP文件请求,JSP文件访问Bean 或其它能将生成的动态内容发送到浏览器的组件。Web服务器对JSP文件进行语法分析,并生成JSP源文件(被编译和执行为Servlet)。值得指出的是JSP文件的生成和编译仅在初次调用Servlet 时发生,因此,JSP文件可以做到“一次编译,多次执行”的优点,从而加快了Web页面的访问速度。单一JSP 模型的结构图如图1 所示:图1 单一JSP 模型的工作原理通过单一JSP 模型的结构图不难发现JSP 页面既要负责响应请求,又要负责将处理的结果返回给客户端浏览器,并没有达到将内容的生成与显示相分离的目的. 因此这种结构只适合逻辑结构简单的小型应用而不适合大型应用,因为复杂的应用将使大量嵌有Java 代码和小脚本的JSP文件难于调试和维护.2.2.2 Servlet技术Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。 它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。 Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。一个标准的 J2EE web应用基于 Servlet API。 Servlet运行在一个容器中,容器本质上是一个 Java应用,它执行所有幕后工作,比如与运行多个 servlet 相关的工作,关联组织为一个 Web 应用的资源的工作,以及管理所有其他相关服务的工作。最流行的 servlet 容器是 Tomcat,但是有些 J2EE应用服务器比如 IBM WebSphere 和 Sun Java System Application Server Sun, JSAS也提供 servlet 容器。(1)Servlet与JSP的联系:servlet完全是java程序代码构成,擅长于流程控制和事务处理,而通过servlet来生成动态网页很不直观;对于静态的html标签,servlet都必须使用页面输出流逐行输出。Servlet中没有内置对象。(2) JSP与Servlet的混合模型:这种模型是基于MVC(Model-View-Controller)的模型,可看作MVC模式在服务器端的实现。它结合了JSP和Servlet两种技术,即采用JSP显示内容,而采用Servlet进行数据处理以生成动态内容。在这种模式中发自客户端浏览器的请求首先被发送到Servlet,Servlet首先创建JSP所需的Beans或对象,然后再创建用于显示动态内容的模板JSP文件,Bean组件根据用户的需要通过JDBC访问数据库,并将得到的结果集插入到已经创建好的JSP文件中,最终以标准HTML页面的形式返回给客户浏览器。具体模型如图2所示:图2 JSP与Servlet的混合模型的工作原理 Jsp由html代码和jsp标签构成可以方便地编写动态网页,在struts框架中,jsp位于MVC设计模式的视图层,而servlet位于控制层。通过上述模型结构图我们可以发现,Servlet扮演了控制器角色,它负责接收请求,并将这些请求发送到相应的JSP,而且还初始化JSP中要使用的Java Beans。因此利用它可以开发功能强大的商业层。Java Bean组件则构成了应用模型,用于数据的处理以实现复杂的应用逻辑和功能。JSP实现了表示层的功能,它被用于返回Java Bean最终生成的页面。2.2.3 JavaBean相当一部分 Java web开发人员都以为 JavaBean就是一个简单类,具有一些可通过 getter 和 setter 方法(访问器和修改器)来暴露的属性。例如,有一个 Java 类,具有方法 getName和setName,就表示暴露了一个可读写的属性name。然而,属性仅仅是其冰山一角,JavaBean是一个全能的组件架构,其设计本着工具支持。这是很重要的,因为这意味着对它来说除属性之外还有很多东西。JavaBeans遵循一定的模式,以便其他Java类能够动态发现事件和其它一些除属性之外的元数据。事实上,JavaBeans正是驱动 Swing的技术,并使得 IDE 能够提供 GUI builders 来构建桌面应用和applet。使用 JavaBeans,你可以开发一个组件,不仅可以很精确地与可视化的 GUI builder一起工作,也可以提供一个特定的向导 (或者定制器)以引领用户进行配置流程。JavaBeans 也包括一个强大的事件模型(和 Swing 和 JSF 组件所使用的一样),持久化服务,以及JavaBean 是一种java语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性。众所周知,属性名称符合这种模式,其他Java 类可以通过自身机制发现和操作这些JavaBean 属性。 用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象。用户可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。应用范围通常应用于服务器的部件,例如 JDBC 连接池、应用监视、用户计数和其他参与用户行为的类。224 MVC设计模式MVC英文即Model-View-Controller,即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层模型层、视图层、控制层。MVC设计范式包括三种:模型( model)提供应用业务逻辑( Enterprise Beans类);视图( view)则是其在屏幕上的显示( HTML页面、 JSP页面、 Swing GUI);控制器(Controller)则是Servlet 、JavaBeans或Session Beans类,它用于管理用户与视图发生的交互。我们可以将控制器想像成处在视图和数据之间,对视图如何与模型交互进行管理。通过使视图完全独立于控制器和模型,就可以轻松替换前端客户程序。并且,通过将控制器和模型代码保持在视图之外,那些不理解这些代码的人员就不能改变他们不应改变的东西。将控制器和模型分开就可以在不影响模型的情况下改变控制器,也可以在不影响控制器的情况下改变模型。例如,如果应用的前端是一个 HTML页面,HTML专家就可以更新它。如果使用一个 JSP页面,将控制器的代码放到一个 JavaBeans或SessionBeans类中,或使用动作标记(action tags ),这样,JSP 页面就仅包含JSP 代码了。MVC设计模式:模 型 -Model视 图-View控制器-Controller如图3图3 MVC设计模式23 JSP的特点和其他动态网页开发技术的比较2.3.1 JSP 的特点:由于JSP使用Java语言作为其脚本语言,因此它可以充分利用Java语言的强大功能和跨平台性。实现了生成和显示的相互分离。即:使用JSP来实现显示功能,而将应用的逻辑封装在Java Bean中。生成可重用的组件。JSP页面依赖于可重用的跨平台的组件(Java Bean)来执行应用程序所需要的复杂处理。现在第三方的共享组件越来越多,大大简化了JSP实现动态网页的工作。强大的数据库支持。JSP可以和任何与JDBC兼容的数据库相连,访问数据库,而且还可以使用JDBC-DBC Bridge 访问基于ODBC 的数据库。JSP应用范围: JSP同PHP类似,几乎可以运行于所有平台。如Win NT,Linux,Unix. NT下IIS通过一 个插件,例如JRUN或者ServletExec,就能支持JSP。著名的Web服务器Apache已经能够支持JSP。由于Apache广泛应用在NT、Unix和Linux上,因此JSP有更广泛的运行平台。虽然现在NT操作系统占了很大的市场份额,但是在服务器方面Unix的优势仍然很大,而新崛起的Linux更是来势不小。从一个平台移植到另外一个平台,JSP和JavaBean甚至不用重新编译,因为Java字节码都是标准的与平台无关的。 根据专家观察,这样的理论和现象都是值得各位站长深思的,所以希望大家多做研究学习,争取总结出更多更好的经验! 232 JSP与 PHP比较 JSP是一个业界标准,得到Sun,IBM,Oracle,BEA,Apache等 的支持,PHP只是一个开发组织并不强的free ware ;PHP的性能不好,是解释型的,JSP采用JIT编译后,和c不相上下,而且支持多线程; JSP支持的平台众多,从Win98,NT,Unix,Linux,FreeBSD到AS/400,OS/390,而PHP支持的平台有限; JSP可以利用JDBC和众多主流关系数据库连接,而PHP目前只支持MySql和Oracle等有限的几种; JSP中的组件,JavaBean和EJB开发非常容易,而且还可以在JSP中使用Java所有的类和功能。而PHP只能用C写一些功能有限的组件,而且编写较为复杂; 利用JSP可以支持EJB,以支持Transaction和CORBA标准,而且还可以支持LDAP,Message等服务,使得访问ERP,CICS,MQ等企业应用非常容易。而PHP在这方面先天不足,所以对于电子商务这样的Mission-critical的应用来说,PHP并不适合。 233 JSP与ASP比较 目前在国内PHP与ASP应用最为广泛。而JSP由于是一种较新的技术,国内采用的较少。但在国外,JSP已经是比较流行的一种技术,尤其是电子商务类的网站,多采用JSP。 采用PHP的网站如新浪网
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论