关于cgi servelt

越看越觉得IT里东西都是长江后浪推前浪啊。

新技术里必然包含很多旧技术,只是把旧的东西改进了让它更适合环境发展。。

其实servlet是什么我也不造。。。。。好像就是前端发个请求,我能在servlet里处理这个请求然后返回给前端,显示处理好后的界面。

所以:它就是个处理动态请求的东西。


cgi概念:通用网关接口,简称CGI,是一种根据请求信息动态产生回应内容的技术。通过CGI,Web 服务器可以将根据请求不同启动不同的外部程序,并将请求内容转发给该程序,在程序执行结束后,将执行结果作为回应返回给客户端。

Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容

我姑且觉得它们作用差不多吧。

区别:

1)较好的可移植性。由于Java语言具有跨平台和可移植性强的特点,使得Sevlet也有较好的可移植性, 即无须修改代码就可以部署到多种不同类型的Web服务器上。

2)执行效率高。由于CGI针对每个请求都会创建一一个进程来处理, 而Servlet针对每个请求创建一个线程来执行,而创建线程比创建进程的开销要小,所以,与CGI相比,Servlet在交互过程中有更短的响应时间, 响应效率更高。

3) 功能强大。Servlet可以与Web服务器进行交互,而CGI却无法与Web服务器直接交互。

4) 使用方便。Servlet 提供了许多非常有用的接口用来读取或设置HTTP头消息,处理Cookie和跟踪会话状态等。

5)可扩展性强。由于Servlet是由Java语言编写的,所以,它具备了Java 语言的所有优势
--------------------- 
版权声明:本文为CSDN博主「Logicr」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Logicr/article/details/82259962

 ⑴servlet占用的系统资源少
每当服务器调用CGI程序的时候,服务器端就要启动一个新的线程,使用完毕再将其销毁,当同时有多个客户访问服务器的时候,服务器端就会启动很多个线程,这样的话服务器端就会变得无比臃肿,系统资源变得越来越少;

但是servlet不同,每当调用servlet时并不是启动一个新的线程,而是在服务器的进程中共享和分离线程,这样的好处是可以共享一个数据源,使系统资源被有效利用。

servlet拥有CGI所没有的的可移植性
servlet的平台无关性,servlet在多种平台都可以实现它的功能继承了java的平台独立和可移植性,而CGI一旦更换系统环境程序就会瘫痪。

servlet拥有数据库连接池,CGI没有
在传统技术中,一般都为“web服务器”+“数据库系统”两层结构,CGI中也是如此,这种结构在大量用户访问web应用时,与数据库建立连接的过程会变得非常缓慢,更会导致死机,数据库死锁等现象;在servlet中引入了连接池的概念,它利用多线程的优点,与数据库提前建立好若干连接,在需要建立连接时只要从连接池中取出即可使用,能够有效的缓解这种情况。

摘自:https://201610222643.iteye.com/blog/2344199

很神奇的是tomcat官方网站里面有cgi。。。虽然以cgi为后缀名的也不一定是cgi。。不过还是很可能的。溜 ,倒不是自己完全手造个东西出来,从盘古开天地开始那样还不如利用现有技术去重新组合。也就是了解了解从本质了解一个东西造个缩略版的然后看看这个东西怎么使用就可了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值