(Web网站设计与开发)第7章Servlet编程.ppt

  【学习提示】 Servlet的本质就是一个Java类,目的是为客户服务。它的任务是获取一个客户的请求,对请求进行相应处理后,再发回一个响应。本章重点讲解Servlet如何获取和使用客户端请求,怎样发送响应或者不发送响应直接进行重定向让浏览器完成工作,以及Servlet的整个开发、配置和使用流程。学习Servlet是掌握JSP的基础和前提,因为JSP在首次运行时都会被Tomcat容器自动转换为Servlet,再次运行时由Tomcat直接调用该Servlet。    7.1.1 CGI简介   与浏览器端技术从静态向动态的演进过程类似,Web服务端的技术也是由静态向动态逐渐发展并完善起来的。早期的Web服务器只能简单地响应浏览器发来的HTTP请求,并将存储在服务器上的HTML文件返回给浏览器,直到通用网关接口(Common Gateway Interface,CGI)技术的产生才使得Web服务器可根据运行时的具体情况(如数据库的实时数据)动态生成HTML页面。 CGI是外部应用程序与Web服务器交互的一个标准接口。1993年,CGI 1.0的标准草案由美国国家超级计算机应用中心(National Center for Supercomputing Applications,NCSA)提出,并于1995年制定了CGI 1.1标准。把遵循CGI标准编写的服务器端的可执行程序称为CGI程序。随着CGI技术的普及,聊天室、论坛、电子商务、搜索引擎等各式各样的Web应用蓬勃兴起,使得互联网真正成为信息检索、信息交换和信息处理的超级工具。   CGI技术允许服务端的应用程序根据客户端的请求,动态生成HTML页面,这使客户端和服务器端的动态信息交换成为了可能。绝大多数的CGI程序被用来解释处理用户在HTML文件的表单中所输入的信息,然后在服务器进行相应的处理并将结果信息动态编写为HTML文件反馈给浏览器。   CGI程序大多是编译后的可执行程序,其编程语言可以是C、C++、Pascal或Perl等程序设计语言。其中,Perl的跨操作系统、易于修改等特性使它成为CGI的主要编程语言。目前几乎所有的Web服务器都支持CGI。CGI程序的工作过程如图7-1所示,具体流程如下:   (1) 用户指示浏览器访问一个URL;   (2) 浏览器通过HTML表单或超链接请求指向一个CGI程序的URL;   (3) ?Web服务器收到请求,并在服务器端执行所指定的CGI程序;   (4) ?CGI程序根据参数执行所需要的操作;   (5) ?CGI程序把结果格式化为HTML网页;   (6) ?Web服务器把结果返回到浏览器中。       图7-1 CGI的基本操作   虽然CGI技术为Web服务器端带来了动态生成HTML文档的能力,但CGI的缺点也是较为明显的:CGI的应用程序一般都是一个独立的可执行程序,每一个用户的请求都会激活一个CGI进程。当用户请求数量非常大时,大量的CGI程序就会吞噬系统资源,造成Web服务器运行效率低下。另外,在CGI程序设计过程中,代码编写方式(在语言中不断嵌入HTML文档片段)、调试等环节非常繁琐,开发效率不高。 7.1.2 ISAPI与NSAPI简介   ISAPI (Internet Server API)与NSAPI(Netscape Server API) 是分别由Microsoft公司和Netscape公司定义的Web服务器应用程序编程接口。虽然两种技术所支持的Web服务器产品不同,但它们的定位和原理相似,以下主要讨论ISAPI。   ISAPI与CGI的工作原理相似,都是通过交互式网页获取用户输入的信息,然后交服务器后台处理。ISAPI与CGI最大的区别在于:在ISAPI下建立的应用程序都是以动态链接库(DLL)的形式存在的。基于ISAPI进程需要的系统资源也较CGI少,因此ISAPI的运行效率要显著高于CGI程序。   可以使用ISAPI筛选器来过滤浏览器端与服务器端之间来回传送的数据,如登录数据或URL请求等。当发生选定事件时相应的筛选器就被调用,通过这种机制,网站可以监视或更改浏览器端与服务器端之间传送的数据。ISAPI 筛选器常用来实现网站的权限控制、自定义加密、自定义压缩和用户访问日志等功能。   能够用来开发ISAPI程序的语言有Visual C++、Visual Basic、Borland C++?和Delphi等,支持ISAPI程序运行的Web服务器主要是Microsoft公司的IIS(Internet Information Services)服务器。支持NSAPI程序运行的Web服务器主要是Netscape公司的Enterprise Server和Sun公司的Java Web S

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档