🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
### CGI与Servlet比较 1. CGI应用开发比较困难:因为它要求程序员有处理参数传递的知识,这不是一种通用的技能; 2. CGI不可移植:为某一特定平台编写的CGI应用只能运行于这一环境中; 3. 每一个CGI应用存在于一个由客户端请求激活的进程中,并且在请求被服务后被卸载;这种模式将引起很高的内存、CPU开销,而且在同一进程中不能服务多个客户。 Servlet对CGI的最主要优势在于**一个Servlet被客户端发送的第一个请求激活,然后它将继续运行于后台,等待以后的请求**。每个请求将生成一个新的线程,而不是一个完整的进程。**多个客户能够在同一个进程中同时得到服务**。一般来说,Servlet进程只是在Web Server卸载时被卸载。 Servlet提供了Java应用程序的所有优势——可移植、稳健、易开发。使用Servlet Tag技术,Servlet能够生成嵌于静态HTML页面中的动态内容。 综上,Servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁。 而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于Servlet