自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Java Servlet與Applet、CGI、JSP的比較

開發(fā) 后端
Java Servlet是一個(gè)強(qiáng)的在編程領(lǐng)域十分重要的角色,那么Java Servlet與一些相關(guān)的語言比如與Applet、CGI、JSP之間的區(qū)別是什么呢?本文將會(huì)給你一個(gè)答案。

Java Servlet是一種獨(dú)立于平臺(tái)和協(xié)議的服務(wù)器端的Java應(yīng)用程序,可以生成動(dòng)態(tài)的Web頁面。

Java Servlet是位于Web 服務(wù)器內(nèi)部的服務(wù)器端的Java應(yīng)用程序,與傳統(tǒng)的從命令行啟動(dòng)的Java應(yīng)用程序不同,Servlet由Web服務(wù)器進(jìn)行加載,該Web服務(wù)器必須包含支持Servlet的Java虛擬機(jī)。

Java Servlet與Applet 的比較:

相似之處:

◆它們不是獨(dú)立的應(yīng)用程序,沒有main()方法。

◆它們不是由用戶或程序員調(diào)用,而是由另外一個(gè)應(yīng)用程序(容器)調(diào)用。

◆它們都有一個(gè)生存周期,包含init()和destroy()方法。

不同之處:

◆Applet具有很好的圖形界面(AWT),與瀏覽器一起,在客戶端運(yùn)行。

◆Java Servlet則沒有圖形界面,運(yùn)行在服務(wù)器端。

Java Servlet與CGI(Common Gateway Interface) 的比較:

與傳統(tǒng)的CGI和許多其他類似CGI的技術(shù)相比,Java Servlet具有更高的效率,更容易使用,功能更強(qiáng)大,具有更好的可移植性,更節(jié)省投資。在未來的技術(shù)發(fā)展過程中,Servlet有可能徹底取代CGI。

◆高效

在傳統(tǒng)的CGI中,每個(gè)請求都要啟動(dòng)一個(gè)新的進(jìn)程,如果CGI程序本身的執(zhí)行時(shí)間較短,啟動(dòng)進(jìn)程所需要的開銷很可能反而超過實(shí)際執(zhí)行時(shí)間。而在Servlet中,每個(gè)請求由一個(gè)輕量級的Java線程處理(而不是重量級的操作系統(tǒng)進(jìn)程)。

在傳統(tǒng)CGI中,如果有N個(gè)并發(fā)的對同一CGI程序的請求,則該CGI程序的代碼在內(nèi)存中重復(fù)裝載了N次;而對于Java Servlet,處理請求的是N個(gè)線程,只需要一份Servlet類代碼。在性能優(yōu)化方面,Servlet也比CGI有著更多的選擇。

◆方便

Java Servlet提供了大量的實(shí)用工具例程,例如自動(dòng)地解析和解碼HTML表單數(shù)據(jù)、讀取和設(shè)置HTTP頭、處理Cookie、跟蹤會(huì)話狀態(tài)等。

◆功能強(qiáng)大

在Java Servlet中,許多使用傳統(tǒng)CGI程序很難完成的任務(wù)都可以輕松地完成。例如,Java Servlet能夠直接和Web服務(wù)器交互,而普通的CGI程序不能。Servlet還能夠在各個(gè)程序之間共享數(shù)據(jù),使得數(shù)據(jù)庫連接池之類的功能很容易實(shí)現(xiàn)。

◆可移植性好

Java Servlet用Java編寫,Servlet API具有完善的標(biāo)準(zhǔn)。因此,為IPlanet Enterprise Server寫的Servlet無需任何實(shí)質(zhì)上的改動(dòng)即可移植到Apache、Microsoft IIS或者WebStar。幾乎所有的主流服務(wù)器都直接或通過插件支持Servlet。

◆節(jié)省投資

不僅有許多廉價(jià)甚至免費(fèi)的Web服務(wù)器可供個(gè)人或小規(guī)模網(wǎng)站使用,而且對于現(xiàn)有的服務(wù)器,如果它不支持Servlet的話,要加上這部分功能也往往是免費(fèi)的(或只需要極少的投資)。

Java Servlet與JSP(JavaServer Pages) 的比較:

JavaServer Pages(JSP)是一種實(shí)現(xiàn)普通靜態(tài)HTML和動(dòng)態(tài)HTML混合編碼的技術(shù),JSP并沒有增加任何本質(zhì)上不能用Servlet實(shí)現(xiàn)的功能。但是,在 JSP中編寫靜態(tài)HTML更加方便,不必再用println語句來輸出每一行HTML代碼。更重要的是,借助內(nèi)容和外觀的分離,頁面制作中不同性質(zhì)的任務(wù)可以方便地分開:比如,由頁面設(shè)計(jì)者進(jìn)行HTML設(shè)計(jì),同時(shí)留出供Java Servlet程序員插入動(dòng)態(tài)內(nèi)容的空間。

Java Servlet與Applet、CGI、JSP的比較呢就介紹到這里,你是不是對他們各自的情況有所了解呢?

【編輯推薦】

  1. Servlet和JSP中的多線程同步問題
  2. 無需修改代碼增強(qiáng)Servlet和JSP的安全性
  3. Tomcat下JSP、Servlet和Bean的配置
  4. 如何提升Servlet和JSP應(yīng)用程序的效率
  5. JSP和Servlet中的幾個(gè)編碼的作用及原理
責(zé)任編輯:仲衡 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2009-07-07 17:23:08

Java Servle

2009-07-09 16:57:03

Servlet與App

2009-07-08 18:16:02

Applet和Serv

2009-07-08 18:21:27

2009-07-02 09:13:25

什么是JSPServlet

2009-07-03 13:54:38

Java Servle

2009-07-09 09:54:07

Servlet和CGI

2012-06-29 13:31:56

ServletJSPJava

2009-07-06 15:34:56

JSP和Servlet

2009-07-06 15:41:14

JSP應(yīng)用

2009-07-06 15:47:11

Servlet API

2009-08-10 09:19:28

Servlet JSP

2009-07-08 09:22:03

Servlet和JSP

2009-07-06 09:49:26

Servlet JSP

2009-06-05 09:24:53

struts標(biāo)簽jsp

2009-07-01 18:12:18

JSP的優(yōu)勢性能比較

2009-07-06 15:55:50

2009-07-09 15:40:54

Java ServleCGI程序

2009-07-06 17:11:38

Servlet文件上傳

2009-07-07 13:29:33

Servlet和JSP
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號