Web应用程序的历史
CGI是第一项用来创建动态内容的技术. CGI会为每个请求新建一个进程运行CGI程序, 为每个请求建立一个进程, 限制了同一个server能够同时处理请求的能力.
Servlet如何处理request?
FastCGI为每个FastCGI程序建立了一个单独持久的进程, 减少了建立新进程的需要.
FastCGI不支持一些流行的webServer, 并且难以并发处理同一个浏览器的不同请求, 书中并没有解释的很清楚, 估计是性能上难以处理.
其它途径
ASP只能运行在特定的web服务器上.
Javaservlet
一个servlet是服务器的扩展, 一个java类能够被动态的加载来扩展服务器的功能. Servlet被web服务器进程的不同线程处理, 由于servlet能够运行在web服务器内部, 所以能够和服务器交互工作, 而不象CGI脚本, 不能够和server互动, 如果servlet能和server互动的话, 它能够获得server的什么功能?
Servlets的好处:
可移植性
效率
一旦一个servlet被加载, 就作为一个单独的对象实例保存在server的内