其他分享
首页 > 其他分享> > Servlet和CGI的区别是什么?

Servlet和CGI的区别是什么?

作者:互联网

                         答案:HTML只能用来保存静态内容,而通常情况下,静态页面很难满足实际应用的需要,鉴于此,提出了动态页面的概念。所谓动态页面,指的是能够根据不同时间,不同用户而显式不同内容

的页面,例如常见的论坛,留言板以及电子商务网站等都是通过动态页面来实现的。那么如何才能生成动态页面呢?其中一种方法是采用CGI(Common Gateway Interface,公共网关接口)。CGI是一种

用Perl脚本,Shell脚本或C语言编写的程序,它可以用来生成动态页面,即每次客户端浏览器访问某一页面时,可以看到不同的内容。CGI应用开发比较困难,一般会要求程序员有处理参数传递知识的能力,而且,

CGI不可移植,为某一特定平台编写的CGI应用只能运行于这一环境中。每一个CGI应用存在于一个由客户端请求激活的过程中,并且在请求被服务后被卸载。而另外一种方式则是采用Servlet技术。

                      什么是Servlet呢?Servlet是采用Java语言编写的服务器程序,它运行于Web服务器中的Servlet容器中,它的主要功能时提供请求/响应的Web服务模式,可以生成动态的Web内容,而这正是

HTML所不具备的功能。

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

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

的响应时间,响应效率更高。

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

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

                    5)可扩展性强。由于Servlet是由Java语言编写的,所以,它具备了Java语言的所有优点。Java语言是健壮的,面向对象的编程语言,很容易扩展,Servlet自然也具备这样的优点。

                          

                                

标签:CGI,Web,Java,区别,动态,Servlet,页面
来源: https://www.cnblogs.com/dtx123/p/15857614.html