CGI是一种与servlet相似的工作在服务器端的web技术,两者都可以响应客户端的请求,还可以收集用户表单的信息并给予动态的反馈;
但是servlet的功能远比CGI强大的多,大致有三个方面:
⑴servlet占用的系统资源少
每当服务器调用CGI程序的时候,服务器端就要启动一个新的线程,使用完毕再将其销毁,当同时有多个客户访问服务器的时候,服务器端就会启动很多个线程,这样的话服务器端就会变得无比臃肿,系统资源变得越来越少;
但是servlet不同,每当调用servlet时并不是启动一个新的线程,而是在服务器的进程中共享和分离线程,这样的好处是可以共享一个数据源,使系统资源被有效利用。
⑵
servlet拥有CGI所没有的的可移植性
servlet的平台无关性,servlet在多种平台都可以实现它的功能继承了java的平台独立和可移植性,而CGI一旦更换系统环境程序就会瘫痪。
⑶
servlet拥有数据库连接池,CGI没有
在传统技术中,一般都为“web服务器”+“数据库系统”两层结构,CGI中也是如此,这种结构在大量用户访问web应用时,与数据库建立连接的过程会变得非常缓慢,更会导致死机,数据库死锁等现象;在servlet中引入了连接池的概念,它利用多线程的优点,与数据库提前建立好若干连接,在需要建立连接时只要从连接池中取出即可使用,能够有效的缓解这种情况。
分享到:
相关推荐
#### 六、Servlet的生命周期与CGI对比 - **Servlet 生命周期**: - 初始化:容器调用 `init` 方法。 - 请求处理:容器调用 `service` 方法,根据 HTTP 方法自动分发到相应的 `doGET` 或 `doPOST` 等方法。 - ...
#### CGI与Servlet对比 CGI(Common Gateway Interface)是一种早期的Web服务器与应用程序接口标准,而Servlet则是Java平台上的Web开发技术。两者的主要区别在于性能、安全性以及与服务器的集成程度。Servlet由于...
- **CGI与Servlet对比**:Servlet位于服务器进程中,通过多线程运行`service`方法;而CGI为每个请求创建一个新的进程,处理完请求后即销毁,因此Servlet在性能上优于CGI。 #### 六、ArrayList、Vector、LinkedList...
1. **与CGI的对比**: - **相同点**:Servlet和CGI都是运行在Web服务器端的组件,都能够生成动态Web页面。 - **不同点**: - 对于每个HTTP请求,CGI会创建一个新的进程来处理,而Servlet则通过创建线程来响应请求...
#### 二、Servlet与CGI对比及特点 ##### 2.1 Servlet vs CGI - **相同点**:两者都是运行在Web服务器端的组件,都能产生动态网页输出。 - **不同点**: - 进程与线程:传统CGI对每个HTTP请求都会创建一个新的进程...
2. **B/S(Browser/Server)与C/S(Client/Server)技术对比**:传统的C/S架构中,客户端直接与数据库交互,而在B/S架构中,客户端通过Web服务器与服务器端的应用程序进行通信,减少了客户端的维护工作,提高了系统...
#### 二、Servlet与CGI的对比分析 ##### 相同点: - **功能相似**:两者都是Web服务器端组件,都能够产生动态Web页面输出。 ##### 不同点: - **进程与线程**:CGI对每个HTTP请求启动新进程,而Servlet则利用轻...
- **与其他技术的对比**:Servlet与CGI(通用网关接口)相比,提供了更高效、更强大的功能,因为它是在服务器端的Java环境中运行,能利用Java的全部特性和库。 - **与Java 2平台企业版的关系**:Servlet 2.4是Java...
1. **高效**:与CGI不同,Servlet利用轻量级的Java线程处理请求,而不是为每个请求启动新的进程。这大大减少了资源消耗,特别是在处理并发请求时。 2. **方便**:Servlet提供了一系列实用工具方法,简化了处理HTML...
1. **Servlet与CGI的对比** - **相同点**:Servlet 和 CGI 都是运行在 Web 服务器端的组件,都能够生成动态 Web 页面。 - **不同点**: - **进程管理**:传统的 CGI 每次接收到 HTTP 请求都会创建一个新的进程,...
这里会对比两者的异同,解释何时选择CGI,何时选择Servlet。 4. **环境变量**:CGI程序通常依赖于Web服务器传递的环境变量,如`QUERY_STRING`,`REQUEST_METHOD`等,这部分会详细介绍这些变量及其用途。 5. **Java...
#### 二、Servlet与CGI对比 Servlet与传统的CGI程序相比有以下优势: 1. **多线程支持**:Servlet能够同时处理多个请求,每个请求在一个独立的线程中运行,无需为每个请求创建新的进程,从而提高了效率。 2. **...
与传统的 CGI(Common Gateway Interface)相比,Servlet 具有更高的效率、更容易使用、功能更强大、更好的可移植性和更低的投资成本。 ##### 1.2 Java Servlet 的高效性 - 在传统的 CGI 中,每个 HTTP 请求都需要...
3. **Servlet与其他服务器脚本技术对比** - 相比CGI(Common Gateway Interface),Servlet是多线程的,而CGI通常为每个请求创建一个新的进程,效率较低。 - JSP(JavaServer Pages)最终会被转换成Servlet来执行...
- **动态网页技术比较**:对比分析了Servlet/JSP、PHP、ASP.NET、ASP和CGI等动态网页技术的特点。 - **BS与CS架构对比**: - **BS架构**(Browser/Server):浏览器/服务器模式的特点和应用场景。 - **CS架构**...
与传统的CGI脚本相比,JSP能够更高效地处理用户请求,并且由于其基于Java语言,因此具有更好的可移植性和安全性。 ### JSP与Servlet的关系 - **Servlet**:Servlet是一种用于扩展服务器功能的Java应用程序。它可以...
1. 高效:与传统的CGI(Common Gateway Interface)相比,Servlet在处理请求时采用线程模型,而非启动新的进程,减少了资源消耗,提高了性能。 2. 方便:Servlet提供了丰富的API,简化了Web应用的开发,如解析HTTP...
1. **高效**:与CGI相比,Servlet在服务器端运行时以线程的方式处理请求,而非启动新的进程。这意味着Servlet可以快速响应多个并发请求,因为它们共享同一份代码,减少了内存消耗和启动时间。 2. **方便**:Servlet...