jsp讲义
- 格式:doc
- 大小:560.00 KB
- 文档页数:70
第一章 JSP概述
1.1 什么是JSP
JSP(JavaServer Pages) 是由Sun公司倡导、多家公司参与, 于1999年推出的一种动态网页技术标准.它是基于Java Servlet的WEB开发技术,利用这一技术可以开发动态的、高性能的WEB应用程序.在HTML文件中加入Java程序片段和JSP标记,就构成了JSP网页.在技术方面, JSP与ASP非常相似.
1.2 JSP的优势
JSP技术主要有以下优点:
1.JSP代码跨平台, 即一次编写,处处运行
众所周知,由于微软的垄断性,它的产品可移植性做得十分差,ASP也不例外,在Windows平台下编写的ASP代码,很难拿到别的平台下运行,相反,JSP使用的是Java语言,它继承了Java语言的特点——―一次编写,处处运行‖,这种概念正越来越深远地影响着因特网行业的交互式Web页面的设计理念。JSP页面可以非常容易地跨平台、跨Web服务器软件来设计和开发源码。
2.JSP组件跨平台
JSP组件(企业JavaBeans、JavaBeans或定制的JSP标签)都是跨平台可重用的。企业JavaBeans组件可以访问传统的数据库,并能以分布式系统模式工作于Solaris、Linux、UNIX和Windows平台。
3.支持多种网页格式
目前, JSP技术支持的网页格式还没有一个明确的标准。一般来说,JSP技术既可以支持HTML/DHTML的传统浏览器文件格式,又可以支持应用于无线通信设备如移动电话、PDA等设备进行网页预览的WML文件格式,还可以支持其他一些B2B电子商务网站应用的XML格式。
4.JSP标签可扩充性
尽管ASP和JSP都使用标签与脚本技术来制作动态Web网页,JSP技术允许开发者扩展JSP标签,定制JSP标签库,所以网页制作者充分利用与XML兼容的标签技术强大的功能,大大减少对脚本语言的依赖。由于定制标签技术,使网页制作者降低了制作网页的复杂度。
5.健壮性与安全性
由于JSP页面使用的脚本语言是java语言, 因此,它就具有java技术的所有好处, 包括健壮的存储管理和安全性.
1.3 JSP的劣势
1. JSP技术极大的增加了产品的复杂性.为了获得 系统的跨平台功能和产品伸缩能力,java系统开发了多种产品,如,JRE、JDK、J2EE、EJB、JSWDK、JavaBeans ,只有有效地将它们组合在一起,才能产生强大的功能.
2. java的高效率运行需要占用大量的内存和硬盘空间. 一方面,java的高速运行是通过 .class文件常驻内存来实现的.另一方面,还需要硬盘空间来存储一系列的.java 文件和.class文件以及对应的版本文件.
3. JSP程序调试困难.JSP页面执行时, 首先被转换为 .java文件(Servlet), 然后将.java文件编译为字节码文件. 这样,出错信息实际上指向的是转换后的那个.java文件(Servlet), 而不是JSP本身. 1.4 JSP与ASP比较
总的来说,JSP和ASP在技术方面有许多相似的地方。它们都是基于Web的应用程序开发方案,它们都是在Web服务器端执行的程序.ASP在网页制作中占据了一定的地位,但是其本身还是有很大缺点. JSP出现在ASP之后,兼顾了ASP的很多优点,同时也克服了ASP的一些缺点,是一种比较成热的网页开发程序语言。以下是五个方面的比较:
1. 具有相同的程序结构:开发的WEB应用程序,都是将用户界面和业务逻辑分开.
2. 采用不同的编程语言: JSP采用的是java语言; ASP采用的是JavaScript或VBScript脚本语言.
3. 可支持的WEB服务器:JSP支持流行的Web服务器,如Apache,Resin,Tomcat和Microsoft lIS. 而ASP只支持Microsoft IIS或者Personal WebServer。
4. 可支持的操作系统平台: JSP与平台无关,可以在所有支持Java的平台上运行,包括Linux,Unix,Windows及WindowsNT.而ASP只支持Windows.
5.性能比较.
性 能 JSP ASP
易学性 容易 很容易
运行速度 快 较快
运行系统开销 小 较大
平台 均可 Windows
安全性 好 不好
函数支持 广 不广
厂商支持程度 广泛 不广泛
1.5 JSP、ASP测试报告
在ASP盛行的今天,JSP在执行效率方面是否有优势? 下面是第三方的测试数据:
首先测试的是JSP,测试采用20000*20000次循环运算,该程序只用了不到3秒的时间就运行结束了。
下一步测试的是ASP,测试采用20000*20000次循环运算,运行时间竟然达到6分零7秒
另外,数据库的链接速度也是影响浏览速度的重要环节,接下来我们又对数据库链接做了测试。测试程序在此省略.
对Oracle 8进行1000次Insert,Update,Select,Delcte操作,JSP需要13秒,ASP需要73秒.
1.6 JSP技术前景
目前在国内PHP与ASP应用最为广泛。而JSP由于是一种较新的技术,国内采用的较少。但在国外,JSP已经是比较流行的一种技术,尤其是电子商务类的网站,多采用JSP。三者中,JSP应该是未来发展的趋势。世界上一些大的电子商务解决方案提供商都采用JSP/Servlet方案。比较出名的如IBM的E-business,它的核心是采用JSP/Servlet的Web Sphere。它们都是通过CGI来提供支持的。但去年10月后它推出了Enfinity,一个采用JSP/Servlet的电子商务Application Server,而且声言不再开发传统软件。
本章小结
JSP是Sun公司推出的一种Web开发技术。JSP网页由HTML标记、JSP标签和Java程序片段组成。
与ASP相比,JSP在可移植性,平台独立性,及程序性能具有更大的优越性。世界上一些大的电子商务解决方案提供商都采用JSP/Servlet技术,JSP应该是未来发展的趋势。
心得体会
(1)JSP与ASP比较:JSP技术比ASP技术要复杂得多,功能也相对强大。但也基于这个原因ASP相对JSP要容易上手,运行速度也比较快。考虑到成本问题,一般开发中小型网站多数选用ASP,但开发的是大型或是超大型,JSP的优势就比较明显了。
(2)Java语言与JavaScript脚本语言的区别:Java与JavaScript分别是两个公司开发的两个不同的产品,作用与用途不一样。Java是Sun公司推出的面向对象的程序设计语言;JavaScript是Netscape公司为扩展Netscape Navigator功能的产品。简单来说,JavaScript不是Java的子集。 第二章 JSP相关知识
2.1 应用程序体系结构
随着WEB技术的出现。早期网络的集中计算逐渐被分布式计算所代替。WEB技术是一种分布式计算技术,使用这种技术构建企业应用时,通常需要开发大量的程序,把这些程序分布在不同的计算机上,在应用中承担不同的职责。如,有的程序展示用户界面,有的程序进行逻辑计算,有的程序进行数据处理。企业级应用系统通常分成两层、三层或N层架构。下面介绍应用程序的三层和二层架构模型。
2.1.1 三层架构模型
按照程序承担的不同角色,把应用程序分为三层:
1. 数据表示层:提供用户数据输入界面和数据展示界面,运行在客户机上。
2. 逻辑计算层:提供数据计算功能,运行在应用服务器上。
3. 数据处理层:提供数据库处理功能,运行在数据库服务器上。
1 三层架构模型
应用程序的三层架构模型,如图2-1所示。
客户机:本地用户使用的计算机,利用客户软件请求应用服务器提供服务。
应用服务器:接受客户请求进行数据计算,并把计算结果返回给客户。JSP页面使用的应用服务器,一般由JSP引擎、Servlet引擎和WEB服务器组成。
数据库服务器:提供数据处理和事务处理.当前流行的数据库服务器有Oracle、Infomix,、Sysbase,、Sqlserver2000.
2.B/S/S架构和C/S/S架构
根据客户端软件的运行机制不同,三层架构又分为C/S/S架构和B/S/S架构.在WEB应用中,最早流行的是C/S/S架构,后来逐渐被B/S/S架构代替.采用C/S/S架构,则每台客户机都必须安装客户端软件,安装维护困难,成本高;采用B/S/S架构,客户端软件安装在应用服务器上,安装维护方便,成本低。
客户端:简写C(Client),展示数据层的软件安装在客户机上,运行时不需要浏览器支持.
浏览器:简写B(Browser),展示数据层的软件部署在应用服务器上,通过客户请求,下载到客户机的浏览器上执行,需要浏览器支持.
服务器:简写S(Server),表示应用服务器或者数据库服务器.
2.1.2 二层架构模型
在二层架构模型中,由同一程序来实现逻辑计算层与数据处理层,即,把逻辑层与数据处理层合并为一层.这时,应用服务器和数据库服务器可能是同一台计算机.根数据展示层 逻辑计算层 数据处理层
客户机
应用服务器
数据库服务器
图2-1三层架据客户端软件的性质,可分为C/S结构和B/S结构.
下面是二层架构模型,如图2-2所示
2.1.3 JSP技术支持的架构模型
JSP技术开发的程序结构只能是B/S/S结构或B/S结构。下面是JSP技术支持的一般层次模型,如图2-3所示。
通常情况下,JSP页面由展示用户界面的HTML标记和进行数据计算两部分组成,
因此数据展示层代码和数据计算代码可能处在同一JSP页面,它们都部署在WEB服务器端。
JSP页面的三种形式:
1. JSP页面=HTML标记+java程序片
2. JSP页面=HTML标记+Servlet模块
3. JSP页面=HTML标记+Bean
一般来说,java程序片、Servlet模块实现逻辑计算功能,Bean实现数据处理功能,HTML标记实现数据展示功能。JSP页面中的java程序片最终被JSP引擎转译为Servlet模块,当客户发出Servlet请求时,由Servlet引擎将这些应用Servlet模块载入内存运行,以处理客户请求。
2.2 应用程序服务器
上面介绍了程序体系结构,下面讨论程序运行的主要平台,即应用程序服务器的组成和作用。JSP技术支持的应用服务器一般由JSP引擎、Servlet引擎和WEB服务器组成。JSP引擎将JSP页面转译并编译为相应的字节码文件(Servlet应用模块),Servlet引擎将客户的请求传递给相应的Servlet模块;WEB服务器接受客户的请求,并把处理的结果返回给客户。
2.2.1 web服务器
web服务器是一种请求/响应模式的服务器。即由客户机向服务器提出服务请求,服务器接到请求后,进行服务处理,将处理的结果返回给客户机(响应)。客户机与服务器间的通讯协议是HTTP协议。 数据展示层 逻辑计算与数据
客户机 应用服务器
图2-2二层架构模型
IE浏览器 JSP引擎+web服务器+Servlet引擎 数据库服务器
图2-3 JSP技术支持的一般模型