Java CGI vs. Servlets [已关闭]
CGI和Java servlet之间的主要区别是什么?
Servlet 在一个进程(具有附加功能的 HTTP 服务器,称为 Servlet 容器)中运行,只要该进程存在,它们就存在。
CGI意味着每次有客户端请求时,HTTP服务器都会创建新的进程实例来满足此请求。这是性能杀手。此外,由于每个请求都有新的进程,这意味着CGI无法像Servlet那样聚合内存中多个请求的数据,并且必须诉诸外部持久性存储(文件或DB)。这也是性能杀手。
最大的区别是CGI在十多年前就去世了。
Servlets是一个标准,Java CGI从来都不是。