CGI与Servlet分析

      CGI通常很慢慢,每一个Web请求PHP都必须重新解析php.ini、重新载入全部扩展并重初始化全部数据结构(即相当于重新启动一次java web),虽然新的fastCGI能初始化几个进程,但系由于是整个web系统进程的初始化,因此还是比较吃内存。

      而对于Servlet,由于Java在运行时可以动态加载,因此优点入下:

      (1)只需要启动一个操作系统进程和一个JVM

      (2)若多个请求都为做同样处理,则只需要加载一个类(由此可见,java还是要初始化,不过不是初始化整个进程,是某个类,是一个比线程更小的东东)

      (3)所有动态加载的类可以实现对网络协议以及请求解码的的代码共享

      (4)Servlet能与Web服务器交互,而普通CGI不能,Servlet还能在各个程序之间共享数据,使得数据库连接池之类功能易于实现。(这个重要啊,Application,Session之类的对象都是这样实现的)

猜你喜欢

转载自silloye.iteye.com/blog/1451959
CGI