JSP 编编编编编编编 编 编 一 JSP 编编 编编编 编编编 :
Jan 16, 2016
JSP 编程技术与应用
第一章 JSP 概述
讲课人:徐伶伶
背景知识 JSP 简介 Servlet 简介 JSP 与 ASP 、 PHP 比较 本章小结
1. 背景知识 万维网( world wide web/www ) 是世界上最大的电子信息仓库,由众多的 Web 站点组成。每个 Web 站点都包含一些特定的资源,这些资源存放于一台或多台被称为 Web 服务器的计算机上。
主页( Homepage )是某个 Web 站点的起点,就像一本书的封面,是链接到一个 Web 服务器上时显示的第一个网页。
超级链接Web 上的页是相互连接的,单击被称为超级链接的文本或图形就可以连接到其他页,超级链接带下划线或边框并内嵌了 Web 地址。
静态网页是指网页一旦制作完成,就不能随意更改或者需要专业的技术人员才能修改。
注:不能实现用户与服务器之间的交互,制作周期长、更改困难,只适用于一些不需要经常更改内容的网页。
动态网页指能够根据用户的需求而动态的改变的页面。不需要维护人员经常手动更新,它能够根据不同的时间、不同的人产生不同的页面。目前绝大多数网站采用的都是动态网页技术,如 JSP 、 ASP 、 PHP 等。
1. 背景知识——静态网页与动态网页
静态网页执行过程任何 Web 服务器都支持静态网页:① 用户首先在浏览器的地址栏中键入要访问的网页地址(即 URL : UniformResourceLocator, 统一资源定位符)并回车触发这个请求。② 浏览器将请求发送到指定的 Web 服务器上。③ Web 服务器接收这些请求,并根据 .htm 或 .html的后缀名判断请求的是 HTML 文件。④ Web 服务器从当前硬盘或内存中读取正确的 HTML文件,然后将它送回用户浏览器。
动态网页执行过程①用户在浏览器的地址栏中键入动态网页文件,并回车触发这个动态网页的请求。②浏览器将这个动态网页的请求发送到 Web 服务器。 ③Web 服务器接受这些请求并根据扩展名(例如 .jsp )判断请求的是动态网页, Web 服务器从硬盘或内存中读取正确的动态网页文件。④ Web 服务器从当前硬盘或内存中读取正确的 HTML文件,然后将它送回用户浏览器。⑤ HTML 文件被送回浏览器。⑥用户的浏览器解释这些 HTML 文件并显示结果。
1. 背景知识——软件系统的两种模式 C/S模式(客户端 / 服务器)
服务器只集中管理数据,计算任务分散在客户机上,客户机和服务器之间通过网络协议来进行通讯;客户机向服务器发出数据请求,服务器将数据传送给客户机进行计算,计算完毕,计算结果可返回给服务器。
B/S模式(浏览器 /服务器)客户端通用的浏览器( Browser 如 IE)代替各种应用软件,服务器则为 Web 服务器。浏览器和服务器之间通过 TCP/IP协议进行连接,浏览器发出数据请求,由Web 服务器向后台取出数据并计算,将计算结果返回给浏览器。
两种结构比较:传统的 C / S体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是 Client端还是 Server端都还需要特定的软件,没能提供用户真正期望的开放环境; B/ S 结构则不同,它的前端是以 TCP/ IP协议为基础的,企业内的 WWW 服务器可以接受安装有 Web 浏览程序的 Internet终端的访问,作为最终用户,只要通过 Web 浏览器,各种处理任务都可以调用系统资源来完成,这样大大简化了客户端,减轻了系统维护与升级的成本和工作量,降低了用户的总体拥有成本( TCO)。
2.JSP 简介——产生原因 人们不再满足于 Web 护送关于发展初期的由文本、图
形和超连接组成的静态信息发布与浏览。 需要将 Web 技术与数据库技术集成在一起,客户端通
过 Web 页面与服务器进行信息的交互及传递,并通过 Web 页面对后台数据库进行远程管理控制。
希望 Web 编程技术能做到与操作系统的平台无关,开发出来的组件具有可重用性以及发布信息兼具多样性和生动性。
2.JSP 简介——什么是 JSP 是 Java Server Page 的简称,由 Sun Microsystems公司倡导,多家公司联合建立的一种动态网页技术标准。
JSP 是在静态的 HTML 网页文件中加入 JSP标记和 Java程序片段( Scriptlet )构成 JSP 页面( .jsp 文件)的。
JSP 可以将业务逻辑从内容层次分离出来,方便页面的静态或动态内容的修改,提高开发效率。
Web 服务器在遇到访问 JSP 页面的请求时,首先执行其中的程序片段,然户将结果以 HTML格式返回给客户端,程序片段可以操作数据库、重定向网页、发送电子邮件等。所有的程序执行都是在服务器端执行的,因此对客户端的浏览器要求较低。
2.JSP 简介——执行过程① 通过客户端浏览器,以超文本( HTML )形式通过表
单( FORM)向 Web 服务器提出请求。② 服务器得到客户端的请求后,由 Web 服务器上的 JSP引擎把 JSP代码、相关组件、 Java脚本以及 HTML代码,转化成为 Servlet代码。
③ 接着由 JSP引擎调用 Web 服务器端的 Java 编译器对 Servlet代码进行编译。
④ 最后,由 Java虚拟机执行编译文件,并把客户端的请求结果以标准 HTML 页面的形式返回。
客户端浏览器 JSP *.JSP
JavaBean 脚本
JSP引擎
Servlet代码Java编译器.class文件
Java虚拟机
③ 执行编译文件
②编译
①代码转化
Windows NT 或 Windows 2000 Server 等
标准 HTML页面(返回结果)
HTML和 FORMHTTP请求
Web服务器
2.JSP 简介——总结① 由于 JSP 是以 Java语言为基础的,因此继承了 Java语言“一次编写、随处运行”的特点,具有良好的可移植性和平台无关性。
② 开发人员不一定要熟悉 Java语言,因为 JSP 将许多强大的功能封装成自定义标签,可以运用这些定义好的标签进行开发,而不必掌握复杂的 Java语法。
③ 绝大多数 JSP 页面可依赖于可重用、跨平台的组件( JavaBeans 或 EJB)来实现 Web 应用程序中较复杂的处理,这种基于组件的开发方式加快了 Web 应用程序的整体开发进度、大大降低了开发成本。
3.Servlet 简介 Servlet 是指为 Web开发人员提供的一种简单、一致
的机制,用来开发服务器端的应用程序,来扩展 Web服务器的功能。
执行过程: Servlet代码本身就是 Java代码,在客户端第一次请求时,服务器需要将 Servlet代码载入内存,(同时服务器将其编译成 class 文件)在以后请求时不需要载入,直接通过执行 Servlet代码产生的 class 文件来返回结果。
优点:具有 Java 的所有优点:跨平台、安全、易开发。
缺点:页面显示和业务逻辑没有分离编写难度较大。
4.JSP 与 ASP 、 PHP 比较ASP 简介: ASP ( Active Server Pages )是 Microsoft 于 1996年 11月推出的 Web 应用程序开发技术。
ASP 是一个服务器端的脚本环境,可以生成和运行动态的、交互的、高性能的 Web 服务器应用程序。
ASP既不是一种语言、也不是一种开发工具,而是生成动态的、交互的 Web 应用程序一种方法和技术。
ASP 的主要特性是能够把 HTML 文件、脚本( script )和基于 COM 标准的组件有机的结合在一起,形成一个能够在服务器上运行的动态 Web 应用程序,并能把按用户要求制作的标准 HTML 页面送给客户端浏览器。
4.JSP 与 ASP 、 PHP 比较ASP优点: 开发、维护快速简单 : 通过文本编辑器或专门集成开
发环境开发。 编程语言通用 :VBScript 、 JavaScript 等多种脚本语言。
内置对象和组件 :提供多种功能强大内置对象和组件并允许用户编写 ActiveX 控件。
安全性 :使用 Windows NT的安全机制,并可通过授权机制规定使用范围。
与浏览区无关性 :ASP 是服务器端的脚本执行环境,只需将脚本执行结果返回客户端浏览器。
4.JSP 与 ASP 、 PHP 比较ASP缺点: 主要不足是平台适应性差。 主要是在 Windows98 环境下的 PWS ( Persona lWeb Server )及 Windows NT、Windows 2000Server环境下的 IIS ( Inernert Information Server )上运行。
不支持 Linux、 UNIX 平台。
4.JSP 与 ASP 、 PHP 比较PHP 简介: PHP ( Hypertext Preprocessor ,超级文本预处理
器)在 1994 年发布第一个版本。与 ASP类似,也是一种服务器端的脚本语言,是完全免费的。
PHP 用于管理动态内容、支持数据库、处理会话跟踪,甚至构建整个电子商务站点。支持许多流行数据库。
4.JSP 与 ASP 、 PHP 比较PHP优点: 跨平台性好:支持 Windows系列、 Linux、 UNIX以及 Solaris 等操作系统,编写一次即可运行在任何操作系统上。
简单易学:采用 C 语言语法、提供对象和类、支持 Microsoft 的 COM 和 Sun 的 JavaBean 组件技术。
与数据库交互良好:对现今流行的数据库几乎都提供了支持。
4.JSP 与 ASP 、 PHP 比较PHP缺点: PHP对各种数据库没有统一的接口标准,对于每一种
数据库几乎都有一个不同的接口,要编写不同的数据库操作代码。
由于 PHP 的每一种扩充模块并不是完全由 PHP 本身来完成的,需要许多外部应用程序库。
PHP 大多安装在 Linux、 UNIX 系统上,安装复杂。 PHP 将源码开放,完全免费,得不到太多的商业支持,
不是一种工业标准。
5. 本章小结JSP 特点: 平台无关性 可移植性 运行效率高 组件的可重用性强 数据库连接方便 安全性好