Servlet 和CGI的区别

109 篇文章 0 订阅

如今好上高楼望,盖尽人间恶路岐。——高骈《对雪》

Servlet 和CGI的区别是什么?

解析:HTML只能用来保存静态内容,而通常情况下,静态页面很难满足实际应用的需要,鉴于此,提出了动态页面的概念。所谓动态页面,指的是能够根据不同时间、不同用户而显示不同内容的页面,例如常见的论坛、留言板以及电子商务网站等都是通过动态页面来实现的。那么如何才能生成动态页面呢?其中种方法是采用 CGI (CommonGateway Interface, 公共网关接口)。

CGI是一一种用Perl脚本、Shell 脚本或C语言编写的程序,它可以用来生成动态页面,即每次客户端浏览器访问某一页面时, 可以看到不同的内容。CGI应用开发比较困难,一般会要求程序员有处理参数传递知识的能力,而且,CGI 不可移植,为某一特定平台编写的CGI应用只能运行于这一环境中。每一个CGI应用存在于一个由客户端请求激活的进程中,并且在请求被服务后被卸载。而另外一种方式则是采用Servlet技术。

什么是Servlet呢?

Servlet 是采用Java语言编写的服务器端程序,它运行于Web服务器中的Servlet容器中,它的主要功能是提供请求/响应的Web服务模式,可以生成动态的Web内容,而这正是HTML所不具备的功能。

与其他生成动态页面的技术相比,Servlet 有诸多优点,具体而言,主要表现在如下几个方面:

1)较好的可移植性。由于Java语言具有跨平台和可移植性强的特点,使得Sevlet也有较好的可移植性, 即无须修改代码就可以部署到多种不同类型的Web服务器上。

2)执行效率高。由于CGI针对每个请求都会创建一一个进程来处理, 而Servlet针对每个请求创建一个线程来执行,而创建线程比创建进程的开销要小,所以,与CGI相比,Servlet在交互过程中有更短的响应时间, 响应效率更高。

3) 功能强大。Servlet可以与Web服务器进行交互,而CGI却无法与Web服务器直接交互。

4) 使用方便。Servlet 提供了许多非常有用的接口用来读取或设置HTTP头消息,处理Cookie和跟踪会话状态等。

5)可扩展性强。由于Servlet是由Java语言编写的,所以,它具备了Java 语言的所有优势

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值