1、 CGI代表Common Gateway Interface(通用网关界面),它是运行在web服务器上的一个程序,并由来自用户的输入触发。
功能:接收请求,产生响应。
CGI程序的优点:
可以用各种语言编写;
实现相对容易;
CGI程序的缺点:
每个shell(单元)都是重量级的,每个请求都要启动一个新的进程;
不可伸缩;
CGI处理代码(业务逻辑)与HTML(表现逻辑)混合在一起;
语言不一定强健,不一定是面向对象的;
2000年以前都是在使用这个程序,在2000以后用的都是Servlet。
2、Java Servlet
Servlet是在服务器上执行的Java组件;
Servlet完成的任务与CGI程序相似,但其在不同的环境中执行;
Servlet完成如下工作:
(1)处理HTTP请求;
(2)动态生成HTTP响应;
Web容器是一个特殊的JVM,负责维护Servlet的生命周期及为每个请求生成线程;
Java Servlet的优点:
性能相对较好(线程比进程更快);
可伸缩;
Java强健且面向对象;
Java平台独立;
Java Servlet的缺点:
处理代码(业务逻辑)与HTML(表现逻辑)混合在一起;