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

淺談Java Servlets與CGI程序

開發(fā) 后端
本文介紹Java Servlets與CGI程序,有了Java Servlets,它們的功能強(qiáng)大,可以快速替代你現(xiàn)有的CGI程序。

從網(wǎng)絡(luò)的早期階段開始,人們就希望他們的網(wǎng)絡(luò)服務(wù)器不僅能夠顯示靜態(tài)文檔,通用網(wǎng)關(guān)接口(CGI) 擴(kuò)展了服務(wù)器的能力,但其代價(jià)是增加了額外的處理進(jìn)程。FastCGI則把外部CGI 處理進(jìn)程同網(wǎng)絡(luò)服務(wù)器更緊密地集成在一起,另外,對于專有的,諸如NSAPI 和ISAPI 這樣的服務(wù)器API,它們直接把外部進(jìn)程以服務(wù)器插件的形式集成到服務(wù)器中?,F(xiàn)在有了Java Servlets,它們的功能強(qiáng)大,可以快速替代你現(xiàn)有的CGI程序。

什么是Servlets?

就象applet擴(kuò)充了網(wǎng)絡(luò)瀏覽器的能力一樣,Servlets這個(gè)Java部件,擴(kuò)充了網(wǎng)絡(luò)服務(wù)器的能力。對于任何種類的服務(wù)器端的處理,Servlets可以作為server-side includes使用或者作為CGI程序(在JavaSoft的Java Web server中可以作為插件)執(zhí)行。 Servlets可以移植,不象CGI和專有的API模塊,你可以利用Java的“編寫一次,到處運(yùn)行”的機(jī)制,在你的企業(yè)中配置網(wǎng)絡(luò)應(yīng)用程序。Servlets的運(yùn)行也很穩(wěn)固,在 Servlet 中你創(chuàng)建了一個(gè)數(shù)據(jù)庫連接,下一次你訪問Servlet時(shí)連接仍然存在,這同CGI程序不一樣。Servlets也具有擴(kuò)展性,所以你可以使用面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,來減少開發(fā)時(shí)間。Servlets可以運(yùn)行在任何支持Servlet 的網(wǎng)絡(luò)服務(wù)器上。目前,Servlet SDK除了支持JavaSoft的Java Web server,還支持Netscape, Apache 和IIS,以及大量第三方的網(wǎng)絡(luò)服務(wù)器。

運(yùn)行你的Servlet

一旦編寫好Servlet,并且編譯成功之后,你可以把它放到網(wǎng)絡(luò)服務(wù)器中Servlet別名目錄中。就同服務(wù)器中的cgi-bin別名目錄的作用一樣,任何放在Servlet 目錄中的文件,一旦被作為url的一部分被請求時(shí),將被作為Servlets執(zhí)行。例如,BasicCGIServlet可以通過如下的url調(diào)用: http://mycompany.com/Servlet/BasicCGIServlet。你既可以直接調(diào)用該url (并且傳送給Servlet一個(gè)請求關(guān)鍵字/值對的串),也可以通過HTML表單中的一個(gè)動(dòng)作來調(diào)用。要了解更多的支持Servlet的網(wǎng)絡(luò)服務(wù)器的信息,請參閱JSDK中的有關(guān)文檔信息。

進(jìn)一步的用法

GenericServlet和 HttpServlet提供了一個(gè)構(gòu)建Servlets的固定的基類。通過重載service()方法,你可以在它們的基礎(chǔ)上進(jìn)行構(gòu)建。例如,你可以加入對響應(yīng)緩存的支持(請參見HttpServlet 中的getLastModified()),也可以加入對HTTP 1.1方法的支持,等等。你甚至可以構(gòu)建一個(gè)擴(kuò)展的模板引擎。(有誰真的喜歡在他們的程序中內(nèi)置HTML代碼呢?)

另外一個(gè)用法是對JSDK進(jìn)行擴(kuò)展,使之除了支持標(biāo)準(zhǔn)的application/x-www-form-urlencoded mime 類型之外,還支持其他類型的表單編碼。例如,你可以加入對multipart/form-data mime類型的支持,用于處理通過HTTP上載文件。接口方法getParameterNames(), getParameterValues()等等,都是在sun.Servlet包中實(shí)現(xiàn)的,所以你需要配置JSDK ,以便加入這些支持。還有一種變通的方法,你可以自己實(shí)現(xiàn)有關(guān)方法,但那樣做,就需要復(fù)制代碼或者改變JSDK的語義。上面的這些方法都是可行的,但是沒有哪一種是***無缺的。

結(jié)論

現(xiàn)在你應(yīng)該會自己創(chuàng)建Java Servlets了,它們可以用來代替?zhèn)鹘y(tǒng)的Perl和C/C++ CGI程序。 Java的面向?qū)ο蟮奶匦院汀熬帉懸淮危教庍\(yùn)行”的機(jī)制使得Java Servlets的編寫很簡單。Servlet的穩(wěn)固性,可以解決有關(guān)狀態(tài)管理問題,而這些都是只用一次的CGI程序解決實(shí)際問題時(shí)通常會遇到的難題。Servlets可以利用Java語言的所有功能,包括JDBC和RMI。由于大多數(shù)網(wǎng)絡(luò)服務(wù)器都加入了對Servlet的支持,Java將迅速成為開發(fā)企業(yè)級應(yīng)用程序的一種可選語言。

【編輯推薦】

  1. Servlet容器的會話跟蹤
  2. 詳解Servlet實(shí)例
  3. 淺談Servlet讀取請求頭
  4. 調(diào)用Http Servlet Request的方法
  5. 淺析Servlet基本結(jié)構(gòu)
責(zé)任編輯:佚名 來源: 中國IT實(shí)驗(yàn)室
相關(guān)推薦

2012-07-01 03:34:44

VisualAgeServlets

2009-07-03 11:50:26

Java ServleJSP

2009-07-09 16:02:42

Servlets引擎

2009-07-03 12:48:24

Java Servle

2009-07-14 11:08:42

WebRendererSwing應(yīng)用程序

2009-07-09 16:24:31

Servlets和JS

2009-07-01 17:44:46

Servlet和JSP

2009-07-10 13:09:53

.Net與Java S

2009-07-08 09:32:25

Java設(shè)計(jì)模式

2011-07-22 13:41:57

java

2009-07-09 16:16:06

Servlets和JSJRun安裝

2009-06-30 13:38:37

SERVLET和JSP

2010-02-26 09:03:10

mod_python模

2020-03-23 09:17:32

內(nèi)存操作系統(tǒng)Windows

2011-08-31 13:27:52

AndroidPhoneGap

2010-02-26 09:55:59

Fedora apac

2012-12-21 10:15:35

2012-12-21 09:48:06

JavaJavaSE異常

2009-06-22 14:03:00

java教材程序設(shè)計(jì)

2012-04-10 11:07:41

Java
點(diǎn)贊
收藏

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