`

SERVLET与传统CGI的比较

    博客分类:
  • JAVA
阅读更多

Java Servlet 与 CGI(Common Gateway Interface) 的比较:

  与传统的CGI和许多其他类似CGI的技术相比,Java Servlet具有更高的效率,更容易使用,功能更强大,具有更好的可移植性,更节省投资。在未来的技术发展过程中,Servlet有可能彻底取代CGI。

  在传统的CGI中,每个请求都要启动一个新的进程,如果CGI程序本身的执行时间较短,启动进程所需要的开销很可能反而超过实际执行时间。而在Servlet中,每个请求由一个轻量级的Java线程处理(而不是重量级的操作系统进程)。

  在传统CGI中,如果有N个并发的对同一CGI程序的请求,则该CGI程序的代码在内存中重复装载了N次;而对于Servlet,处理请求的是N个线程,只需要一份Servlet类代码。在性能优化方面,Servlet也比CGI有着更多的选择。

   * 方便  

  Servlet提供了大量的实用工具例程,例如自动地解析和解码HTML表单数据、读取和设置HTTP头、处理Cookie、跟踪会话状态等。

   * 功能强大

  在Servlet中,许多使用传统CGI程序很难完成的任务都可以轻松地完成。例如,Servlet能够直接和Web服务器交互,而普通的CGI程序不能。Servlet还能够在各个程序之间共享数据,使得数据库连接池之类的功能很容易实现。

   * 可移植性好

  Servlet用Java编写,Servlet API具有完善的标准。因此,为IPlanet Enterprise Server写的Servlet无需任何实质上的改动即可移植到ApacheMicrosoft IIS或者WebStar。几乎所有的主流服务器都直接或通过插件支持Servlet。

   * 节省投资  

  不仅有许多廉价甚至免费的Web服务器可供个人或小规模网站使用,而且对于现有的服务器,如果它不支持Servlet的话,要加上这部分功能也往往是免费的(或只需要极少的投资)。

分享到:
评论

相关推荐

    servlet总结

    - 进程与线程:传统CGI对每个HTTP请求都会创建一个新的进程,而Servlet则是由JVM上的轻量级线程响应,这意味着Servlet更高效,因为进程切换的开销远大于线程。 - 内存消耗:多个对同一CGI程序的请求会导致该程序...

    魔乐学习servlet

    与传统的CGI(通用网关接口)相比,Servlet具有更高的性能和更丰富的功能。 【Servlet生命周期】 Servlet的生命周期主要包括三个阶段:加载与实例化、初始化、服务以及销毁。当服务器接收到对Servlet的第一次请求...

    Servlet教程.pdf

    与传统的CGI(Common Gateway Interface)相比,Servlet有显著的优势。CGI每次请求都会启动新的进程,而Servlet则使用线程来处理请求,更加高效。由于基于Java,Servlet具有跨平台性,可以在支持Java的任何Web服务器...

    Servlet与JSP.ppt的基础知识

    2. **B/S(Browser/Server)与C/S(Client/Server)技术对比**:传统的C/S架构中,客户端直接与数据库交互,而在B/S架构中,客户端通过Web服务器与服务器端的应用程序进行通信,减少了客户端的维护工作,提高了系统...

    JspServlet官方中文教程

    ### Servlet相对于传统CGI技术的优点 Servlet相比传统的CGI技术具有多方面的优势,包括更高的效率、更多的便利性和功能性、更强的可移植性、更低的成本以及更高的安全性。其中,使用线程而非进程进行处理,使得...

    精通Servlet

    与传统的 web 服务器相比,servlet 可以生成动态网页,而不只是提供静态网页服务。同时,servlet 也可以用来扩展 web 服务器的基本功能,提供了一个强而有力的技术来取代 CGI。 在了解 servlet 之前,我们需要了解...

    servlet简介

    相比于传统的 CGI(Common Gateway Interface),Servlet 更加高效,因为 CGI 每次请求都会启动新的进程,而 Servlet 使用线程处理请求,减少了进程创建的开销。此外,Servlet 还支持多线程处理,这意味着服务器可以...

    企业信息管理系统 SERVLET

    与传统的CGI(通用网关接口)相比,SERVLET具有更高的性能和可扩展性。在企业信息管理系统中,SERVLET作为后端的核心,负责接收前端的HTTP请求,处理业务逻辑,访问数据库,然后将处理结果以HTTP响应的形式返回给...

    Servlet Tutorial

    Servlet 3.0 引入了注解的概念,可以不使用传统的 web.xml 配置文件,而直接在 Servlet 类上使用注解来定义 Servlet。 11. 使用 Servlet 和 Oracle 数据库创建注册表单: 可以通过 Servlet 获取用户输入的表单数据...

    Servlet的基本知识

    2. **Servlet与CGI的比较:** - CGI程序在每次请求时都会创建一个新的进程,导致性能低下且难以管理。 - Servlet则是在初始化后保持在内存中,每次请求都由同一个实例处理,大大提高了效率。 3. **Servlet与JSP...

    Java Servlet API说明文档.doc

    Servlet相比传统的CGI和NSAPI有以下优点: 1. **性能**:Servlet通常在进程中运行,避免了CGI每次请求创建新进程的开销,因此响应更快。 2. **标准化**:Servlet API是基于Java标准的,易于跨平台部署。 3. **...

    Java_Servlet入门教程.pdf

    与传统的CGI脚本不同,Servlet在处理多个客户请求时,Servlet引擎为每个客户启动一个线程,而非启动一个独立的进程,这种设计大大提高了效率和资源利用率。 **1.1 Servlet的生命周期** - **初始化阶段**:当...

    基于Servlet的Web图表编程

    与传统的CGI程序相比,Servlet具有更高的性能和更好的可移植性。 **特点总结:** - **高性能:** 一旦Servlet被加载到内存中,只要服务器未重启,Servlet就会一直存在于内存中,这极大地提高了响应速度。与之相反...

    servlet_src-my.zip

    与传统的CGI(通用网关接口)相比,Servlet具有更高的性能和更强大的功能。 在源码包“servlet_src”中,我们可能会找到以下几个关键部分: 1. **Servlet类**:这些类是实现了javax.servlet.Servlet或javax....

Global site tag (gtag.js) - Google Analytics