本文引用自:
http://en.wikipedia.org/wiki/Java_Servlet
Advantages over CGI
The advantages of using Servlets are their fast performance and ease of use combined with more power over traditional CGI (Common Gateway Interface). Traditional CGI scripts written in Java have a number of disadvantages when it comes to performance:
• When an HTTP request is made, a new process is created for each call of the CGI script. This overhead of process creation can be very system-intensive, especially when the script does relatively fast operations. Thus, process creation will take more time than CGI script execution. Java Servlets solve this, as a Servlet is not a separate process. Each request to be handled by a Servlet is handled by a separate Java thread within the web server process, omitting separate process forking by the HTTP daemon.
• Simultaneous CGI request causes the CGI script to be copied and loaded into memory as many times as there are requests. However, with Servlets, there are the same amount of threads as requests, but there will only be one copy of the Servlet class created in memory that stays there also between requests.
• Only a single instance answers all requests concurrently. This reduces memory usage and makes the management of persistent data easy.
• A Servlet can be run by a Servlet container in a restrictive environment, called a sandbox. This is similar to an applet that runs in the sandbox of the web browser. This makes a restrictive use of potentially harmful Servlets possible.
分享到:
相关推荐
Servlet与传统的CGI(Common Gateway Interface,通用网关接口)相比具有明显的优势。CGI是一种较早的技术,它可以由多种编程语言编写,但每次处理HTTP请求时都需要启动一个新的进程,这在高并发环境下会导致性能...
但是相比于 CGI,Servlet 有以下几点优势: 性能明显更好。 Servlet 在 Web 服务器的地址空间内执行。这样它就没有必要再创建一个单独的进程来处理每个客户端请求。 Servlet 是独立于平台的,因为它们是用 Java...
与传统的CGI(Common Gateway Interface)相比,Servlet有显著的优势。CGI每次请求都会启动新的进程,而Servlet则使用线程来处理请求,更加高效。由于基于Java,Servlet具有跨平台性,可以在支持Java的任何Web服务器...
与传统的 CGI(通用网关接口)技术相比,Servlet 具有以下显著优势: - **高效性**:Servlet 在服务器端以 Java 线程的形式运行,相比于 CGI 每次请求都需要启动新的进程,Servlet 可以极大地减少进程启动带来的...
与传统的CGI(Common Gateway Interface)相比,Servlet不仅克服了多进程处理HTTP请求的效率问题,还提供了更强大的跨平台能力和资源交互能力。 #### 二、Servlet与CGI的对比分析 ##### 相同点: - **功能相似**...
六、Servlet的优势 相比其他服务器扩展技术,Servlet具备以下优点: 1. 性能:Servlet使用单一进程模型,比CGI更高效。 2. 标准化:Servlet遵循标准API,可移植性好。 3. Java特性:继承Java的所有优点,如动态加载...
Servlet相比传统的CGI技术具有多方面的优势,包括更高的效率、更多的便利性和功能性、更强的可移植性、更低的成本以及更高的安全性。其中,使用线程而非进程进行处理,使得Servlet在性能上优于CGI。同时,众多高级...
相比CGI(Common Gateway Interface),Servlet具有显著优势。Servlet的高效体现在每个请求由轻量级的线程处理,而不是创建新的进程,降低了性能开销。此外,Servlet只需一份代码,即可处理多个并发请求,而CGI可能...
相比于早期的Common Gateway Interface(CGI),Servlet在性能和跨平台能力上有显著优势。Servlet运行在Java虚拟机上,通过多线程模型处理并发请求,减少了系统资源的消耗。此外,由于Servlet遵循Java标准API,因此...
JSP相比CGI或纯Servlet,提高了开发效率,因为它允许开发者直接在页面中插入Java表达式,而无需编写大量println语句。 7. JSP与相关技术的比较: - JSP与ASP(Active Server Pages):JSP使用Java作为编程语言,...
相比于传统的 CGI 和其他类似的 CGI 技术,Java Servlet 具有更高的效率、更好的易用性和强大的功能,同时具备良好的可移植性和成本效益。 ##### 2.1 Servlet 的核心功能 - **读取显式数据**:最终用户通常通过 ...
2. **高效性**:与 CGI 相比,Servlet 只需创建一次实例,即可处理多个客户端的请求,大大减少了资源消耗。 3. **灵活性**:Servlet 不局限于 HTTP 协议,开发人员可以根据需要定制或扩展任何支持 Java 的服务器,...
- 性能优势:相比于传统的CGI(Common Gateway Interface)程序,Servlet具有更好的性能和可伸缩性。这是因为Servlet在启动后会一直驻留在内存中,而CGI程序每次都需要重新加载。 - 集成性:Servlet可以无缝集成到...
与传统的CGI(Common Gateway Interface)相比,Servlet具有显著优势。CGI为每个请求启动新的进程,效率低下且资源消耗大,而Servlet使用线程模型,对并发请求处理更高效。此外,Servlet提供了丰富的API,简化了处理...
- **平台无关性**:与传统的CGI脚本或NSAPI相比,Servlet的最大优势在于其平台无关性。 - **运行环境**:Servlet通常在Servlet引擎内运行,处理客户端的请求和响应,常见的协议为HTTP。 - **客户端交互**:客户端...
与传统的CGI(Common Gateway Interface)相比,Servlet具有明显的优势。CGI每次请求都会启动新的进程,这可能导致服务器资源的浪费。而Servlet则在Servlet引擎中以多线程的方式运行,只需一个Servlet实例就可以处理...
- **性能提升**:相比于传统的CGI脚本,Servlet采用了不同的进程处理模型,因此能够更快速地响应客户端请求。 - **标准API支持**:Servlet使用了广泛支持的标准API,确保了其在各种Web服务器上的兼容性。 - **平台...
Servlet与传统的CGI程序相比有以下优势: 1. **多线程支持**:Servlet能够同时处理多个请求,每个请求在一个独立的线程中运行,无需为每个请求创建新的进程,从而提高了效率。 2. **生命周期管理**:Servlet具有...
与传统的CGI(Common Gateway Interface)相比,Servlet有显著优势。CGI每次请求都会启动新进程,效率低下,而Servlet通过线程处理请求,避免了这种开销。Servlet提供大量实用工具,简化了处理HTML表单、HTTP头、...