Topic: Servlet 比 CGI 强多少?

  Print this page

1.Servlet 比 CGI 强多少? Copy to clipboard
Posted by: Lawme
Posted on: 2004-10-27 21:44

据说 servlet 是比 CGI 先进的技术,这很有可能,因为纯粹的 CGI 应用快消失了。

不过,如果较真衡量对比这两种技术的具体差距,以合理的标准评判,未必 CGI 输多少。

2.Re:Servlet 比 CGI 强多少? [Re: Lawme] Copy to clipboard
Posted by: chengbd
Posted on: 2004-10-27 22:38

先不说我知道的原因,如果楼主愿意真心交流的话,你说说你的看法的原因吧?

3.Re:Servlet 比 CGI 强多少? [Re: chengbd] Copy to clipboard
Posted by: Lawme
Posted on: 2004-10-28 02:50

事情是这样的:
最近对 Python 很感兴趣,觉得它的 native 程序表现比 Java 强,也比 Java 好学得多。听说有个 Python Web 服务器,叫 Zope,也很强。但总觉得 Python 的 Web 应用基本上就是 CGI 技术。以前听说过 CGI 是落后的技术,要被 Servlet 取代。但是,前几天上过一个 Linux 论坛,是用 Python 写的,速度飞快。于是,我迷惑了。联想到所谓的“千年虫”问题,觉得 所谓的 IT 高科技,骗人也是厉害的。说 CGI 不行,只是笼统地说却没有凭据,不是科学的说法。

很想听听你的高见,澄清事实,消除疑惑。

4.Re:Servlet 比 CGI 强多少? [Re: Lawme] Copy to clipboard
Posted by: jsmile
Posted on: 2004-10-28 03:08

杀鸡有杀鸡的刀,宰牛有宰牛的刀。每一样工具都有适用的对象以及使用者的能力和他荷包的厚薄。比如夏利和宝马。

5.Re:Servlet 比 CGI 强多少? [Re: Lawme] Copy to clipboard
Posted by: floater
Posted on: 2004-10-28 03:34

check hunter's servlet book. It's about the way to fetch a process to handle a request, lightweight vs heavyweight. As of now, I don't surprise there are some new web servers using the same or close idea in servlet containers. Writing a 论坛 is relatively easy comparing to enterprise applications, so with less luggages, these should run faster, as expected.

However, this linux 论坛 is not a web server, it sets on top of web servers, if I am not mistaken.

6.Re:Servlet 比 CGI 强多少? [Re: Lawme] Copy to clipboard
Posted by: chengbd
Posted on: 2004-10-28 08:06

具体我也没比较过CGI,只是看书上说JSP(servlet)比CGI先进之处是servlet是线程共享的,每个servlet在服务上只有一个实例,每个用户线程共享一个servlet的实例,这样占用的内存要少。而CGI为每个客户端请求都建立一个CGI的实例和线程(或进程),这样如果一个服务器上对某CGI的请求有上万个,占用的内存可想而知。还有就是用CGI编写代码时可能没有PHP、JSP、ASP简单直观吧。所以很少现在可以看到用CGI做的网站了。
这是我从书上得到的知识,没有经过实践,还请大家指教。

7.Re:Servlet 比 CGI 强多少? [Re: Lawme] Copy to clipboard
Posted by: Lawme
Posted on: 2004-10-28 09:21

每个servlet在服务上只有一个实例,每个用户线程共享一个servlet的实例,这样占用的内存要少。而CGI为每个客户端请求都建立一个CGI的实例和线程(或进程),这样如果一个服务器上对某CGI的请求有上万个,占用的内存可想而知。

如此看来,Servlet 节省内存但多费时间,所以它慢。
Python 的程序不大,一般几K、几十K,即便同时有许多进程,占用内存也不大吧。
我反倒觉得,Python 的服务器端 CGI 程序,未必比 Servlet差。

8.Re:Servlet 比 CGI 强多少? [Re: Lawme] Copy to clipboard
Posted by: scud
Posted on: 2004-10-28 09:43

你知道CGI是啥意思吗

9.Re:Servlet 比 CGI 强多少? [Re: Lawme] Copy to clipboard
Posted by: chengbd
Posted on: 2004-10-28 12:47

common gate interface
楼主真是较劲,不过使用163的JSP页面,也没觉得速度慢!
记得原来有很多CGI的网址,现在很少见了,都成了PHP,JSP和ASP。其中的原因不仅是因为速度,我想在开发性能、维护上一定有其不足之处。
至于Python和CGI的联系,以及Python的功能、使用环境和优点,还请大家多多指教。

10.Re:Servlet 比 CGI 强多少? [Re: Lawme] Copy to clipboard
Posted by: Lawme
Posted on: 2004-10-29 02:25

chengbd 先生: 对不起,误会了您所说“交流”的意思。

scud 先生: 您真博学,致敬。

论坛“肥肥世家”自称采用Linux+Zope+MySQL开发,我觉得它很快。

http://www.ringkee.com/forum

11.Re:Servlet 比 CGI 强多少? [Re: Lawme] Copy to clipboard
Posted by: rainman
Posted on: 2004-10-29 02:34

不能只看性能啊. 各有千秋. yahoo mail还用python呢.
但开发现在的企业应用软件, 用python的话成本就比Java,PHP高, 当然用C或COBOL就更高了.
原因就是要付工资给开发人员, 而懂这些技术的人不多啊.

12.Re:Servlet 比 CGI 强多少? [Re: Lawme] Copy to clipboard
Posted by: jameszhang
Posted on: 2004-10-29 10:22

Lawme wrote:
如此看来,Servlet 节省内存但多费时间,所以它慢。
Python 的程序不大,一般几K、几十K,即便同时有许多进程,占用内存也不大吧。
我反倒觉得,Python 的服务器端 CGI 程序,未必比 Servlet差。

Servlet 怎么多费时间了,不解?!

一般几K、几十K,即便同时有许多进程千万别抱侥幸,内存再大也有限度,何况你的"许多"是多少呀? 另问"几K、几十K"是程序代码长度,还是运行时占用的内存数量???

不解?!不解?!

13.Re:Servlet 比 CGI 强多少? [Re: Lawme] Copy to clipboard
Posted by: chengbd
Posted on: 2004-10-29 14:53

大多数的Java开发者都关心Java程序的性能问题。有很大一部分人员认为Java是运行速度较慢的语言,不太可能开发出高性能的应用。但事实上,绝大部分的性能问题,通过在产品开发的各个阶段进行控制和调整是能够解决的。Java语言确实能开发出性能很高的应用程序,这一点,正在被越来越多的大型应用所证实。对于一门语言,一个工具,一件武器,想要发挥它的威力,关键看你怎么使用了!

14.Re:Servlet 比 CGI 强多少? [Re: Lawme] Copy to clipboard
Posted by: zhanghghg
Posted on: 2004-11-03 09:34

看cgi还是servlet快要看综合的情况,无法简单的对比。单个程序运行一定是cgi快,就像简单的读写文件一定比读写数据库快一样。但是如果用户多了,其资源占用的非线性成分可能会更厉害一点。另外一点,其开发维护的成本还是很高的


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923