CGI与Servlet技术对比

CGI:Common Gateway Interface,通用网关接口。

CGI处理步骤

首先,客户端(即Web浏览器)根据某资源的URL向Web服务器提出请求;Web服务器的守护进程(HTTP
Daemon)将此请求的参数通过标准输入和环境变量传递给指定的CGI程序,并启动此应用程序进行处理,如要存取数据库服务器上数据库的数据,则向数据库服务器发出处理请求,数据库服务器将执行结果返回给CGI程序,CGI程序把处理结果通过标准输出返回给HTTP Daemon进程,再由HTTP
Daemon进程返回给客户端,由浏览器解释执行,将最终结果在用户面前显示。

Servlet与CGI的比较

和CGI程序一样,Servlet可以响应用户的指令(提交一个FORM等等),也可以象CGI程序一样,收集用户表单的信息并给予动态反馈(简单的注册信息录入和检查错误)。
  然而,Servlet的机制并不仅仅是这样简单的与用户表单进行交互。传统技术中,动态的网页建立和显示都是通过CGI来实现的,但是,有了Servlet,您可以大胆的放弃所有CGI(perl?php?甚至asp!),利用Servlet代替CGI,进行程序编写。
  对比一:当用户浏览器发出一个Http/CGI的请求,或者说调用一个CGI程序的时候,服务器端就要新启用一个进程(而且是每次都要调用),调用CGI程序越多(特别是访问量高的时候),就要消耗系统越多的处理时间,只剩下越来越少的系统资源,对于用户来说,只能是漫长的等待服务器端的返回页面了,这对于电子商务激烈发展的今天来说,不能不说是一种技术上的遗憾。
  而Servlet充分发挥了服务器端的资源并高效的利用。每次调用Servlet时并不是新启用一个进程,而是在一个Web服务器的进程中共享和分离线程,而线程最大的好处在于可以共享一个数据源,使系统资源被有效利用。
  对比二:传统的CGI程序,不具备平台无关性特征,系统环境发生变化,CGI程序就要瘫痪,而Servlet具备Java的平台无关性,在系统开发过程中保持了系统的可扩展性、高效性。
  对比三:传统技术中,一般大都为二层的系统架构,即Web服务器+数据库服务器,导致网站访问量大的时候,无法克服CGI程序与数据库建立连接时速度慢的瓶颈,从而死机、数据库死锁现象频繁发生。而我们的Servlet有连接池的概念,它可以利用多线程的优点,在系统缓存中事先建立好若干与数据库的连接,到时候若想和数据库打交道可以随时跟系统"要"一个连接即可,反应速度可想而知。

CGI与Servlet技术对比,布布扣,bubuko.com

时间: 2024-12-19 17:41:40

CGI与Servlet技术对比的相关文章

漫谈Servlet技术

1.要谈到Servlet技术,不得不先谈谈动态网页的概念. 编写过网页的人都知道,浏览器能够根据HTML静态标记语言来显示各式各样的网页.但是如果我们需要在网页上完成一些业务逻辑:比如登陆验证.或者说网页显示的内容在服务器的数据库中.如果是这样,除了负责显示的HTML标记之外,必须还要有完成这些业务功能的代码存在.这种网页我们就叫做动态网页. 对于静态网页而言,服务器上存在的是一个个纯HTML文件.当客户端浏览器发出HTTP请求时,服务器可以根据请求的URL找到对应的HTML文件,并将HTML代

CGI与Servlet的比较

转自:http://www.maxhis.info/java/cgi-vs-servlet/ 谢! 概括来说,CGI和Servlet可以完成相同的功能. 一:CGI(Common Gateway Interface) CGI(Common Gateway Interface)程序,主要用Perl.Shell Script或C编写,能够向客户端提供动态内容,即每次客户端浏览器访问某一页面时,可以看到不同的内容.CGI应用开发比较困难,因为它要求程序员有处理参数传递的知识,这不是一种通用的技能.CG

【Java】Java Servlet 技术简介

Java 开发人员兼培训师 Roy Miller 将我们现有的 servlet 介绍资料修改成了这篇易于学习的实用教程.Roy 将介绍并解释 servlet 是什么,它们是如何工作的,如何使用它们来创建您能够想像到的任意复杂度的 Web 应用程序,以及作为一名专业编程人员,您如何才能最有效地使用 servlet. 5 评论: Roy W. Miller ([email protected]), 独立的软件开发辅导员.程序员和作者, RoleModel Software 2004 年 12 月 2

Java Servlet技术

当Web刚开始被用来传送服务时,服务提供者就已经意识到了动态内容的需要.Applet是为了实现这个目标的一种最早的尝试,它主要关注使用客户端平台来交付动态用户体验.与此同时,开发人员也在研究如何使用服务器平台实现这个目标.开始的时候,公共网关接口(Common Gateway Interface ,CGI)脚本是生成动态内容的主要技术.虽然使用得非常广泛,但CGI脚本技术有很多的缺陷,这包括平台相关性和缺乏可扩展性.为了避免这些局限性,Java Servlet技术应运而生.它能够以一种可移植的方

Java Servlet 技术简介

Java Servlet 技术简介 Java 开发人员兼培训师 Roy Miller 将我们现有的 servlet 介绍资料修改成了这篇易于学习的实用教程.Roy 将介绍并解释 servlet 是什么,它们是如何工作的,如何使用它们来创建您能够想像到的任意复杂度的 Web 应用程序,以及作为一名专业编程人员,您如何才能最有效地使用 servlet. 4 评论: Roy W. Miller ([email protected]), 独立的软件开发辅导员.程序员和作者, RoleModel Soft

JavaWeb:Servlet技术

JavaWeb:Servlet技术 快速开始 Servlet是什么 Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层.使用 Servlet,您可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页. Servlet在Web应用程序中的位置: Servlet的任务 Servlet 执行以下主要任务: 读取客户端(浏览器)发送的显式的数据.

转载:校园网接入认证技术对比与分析

原文作者: 沙捷 费青松 王雁 作者单位:首都体育学院 信息网络中心 北京市海淀区北三环西路 11号 100088 1 概述 Internet网络是一个自助网络,免费使用,一个用户终端配置IP地址即可接入网络.IP网络规模的扩大使得管理问题凸现,而不管是运营商的IP城域网还是校园网都有运营收费的需求,但是 在校园网中引入用户认证技术,有两个目的,一是可以有效的识别上网用户身份,第二是便于对用户的接入权限.业务权限.用户行为等进行有效的控制和管理,包括提供灵活的计费手段.基于IP地址的用户管理显然

四种加载React数据的技术对比(Meteor 转)

1.四种加载React数据的技术对比(Meteor 转) : https://sanwen8.cn/p/31e4kdE.html 2. Meteor + Appolo   TelescopeJS/Telescope    https://github.com/TelescopeJS/Telescope/tree/devel http://nova-docs.telescopeapp.org/architecture.html

达梦7的试用 与SQLSERVER的简单技术对比

达梦7的试用 与SQLSERVER的简单技术对比 达梦数据库公司推出了他们的数据库服务管理平台,可以在该平台使用达梦数据库而无须安装达梦7数据库 地址:http://online.dameng.com/ 说实话,第一眼看到还是感到很高大上的,毕竟ORACLE.MYSQL.SQLSERVER都没有推出数据库试用的云平台 其实其他数据库也应该学习一下达梦,做一个平台让大家有机会学习自家的数据库知识,虽然现在这个时代下载安装包比较容易,不过提供一个平台也是有好处的 达梦数据库文档下载:http://f