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

創(chuàng)新互聯(lián)公司基于成都重慶香港及美國(guó)等地區(qū)分布式IDC機(jī)房數(shù)據(jù)中心構(gòu)建的電信大帶寬,聯(lián)通大帶寬,移動(dòng)大帶寬,多線BGP大帶寬租用,是為眾多客戶提供專(zhuān)業(yè)四川樂(lè)山服務(wù)器托管報(bào)價(jià),主機(jī)托管價(jià)格性?xún)r(jià)比高,為金融證券行業(yè)服務(wù)器托管,ai人工智能服務(wù)器托管提供bgp線路100M獨(dú)享,G口帶寬及機(jī)柜租用的專(zhuān)業(yè)成都idc公司。
什么是Servlets?
就象applet擴(kuò)充了網(wǎng)絡(luò)瀏覽器的能力一樣,Servlets這個(gè)Java部件,擴(kuò)充了網(wǎng)絡(luò)服務(wù)器的能力。對(duì)于任何種類(lèi)的服務(wù)器端的處理,Servlets可以作為server-side includes使用或者作為CGI程序(在JavaSoft的Java Web server中可以作為插件)執(zhí)行。 Servlets可以移植,不象CGI和專(zhuān)有的API模塊,你可以利用Java的“編寫(xiě)一次,到處運(yùn)行”的機(jī)制,在你的企業(yè)中配置網(wǎng)絡(luò)應(yīng)用程序。Servlets的運(yùn)行也很穩(wěn)固,在 Servlet 中你創(chuàng)建了一個(gè)數(shù)據(jù)庫(kù)連接,下一次你訪問(wèn)Servlet時(shí)連接仍然存在,這同CGI程序不一樣。Servlets也具有擴(kuò)展性,所以你可以使用面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,來(lái)減少開(kāi)發(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
一旦編寫(xiě)好Servlet,并且編譯成功之后,你可以把它放到網(wǎng)絡(luò)服務(wù)器中Servlet別名目錄中。就同服務(wù)器中的cgi-bin別名目錄的作用一樣,任何放在Servlet 目錄中的文件,一旦被作為url的一部分被請(qǐng)求時(shí),將被作為Servlets執(zhí)行。例如,BasicCGIServlet可以通過(guò)如下的url調(diào)用: http://mycompany.com/Servlet/BasicCGIServlet。你既可以直接調(diào)用該url (并且傳送給Servlet一個(gè)請(qǐng)求關(guān)鍵字/值對(duì)的串),也可以通過(guò)HTML表單中的一個(gè)動(dòng)作來(lái)調(diào)用。要了解更多的支持Servlet的網(wǎng)絡(luò)服務(wù)器的信息,請(qǐng)參閱JSDK中的有關(guān)文檔信息。
進(jìn)一步的用法
GenericServlet和 HttpServlet提供了一個(gè)構(gòu)建Servlets的固定的基類(lèi)。通過(guò)重載service()方法,你可以在它們的基礎(chǔ)上進(jìn)行構(gòu)建。例如,你可以加入對(duì)響應(yīng)緩存的支持(請(qǐng)參見(jiàn)HttpServlet 中的getLastModified()),也可以加入對(duì)HTTP 1.1方法的支持,等等。你甚至可以構(gòu)建一個(gè)擴(kuò)展的模板引擎。(有誰(shuí)真的喜歡在他們的程序中內(nèi)置HTML代碼呢?)
另外一個(gè)用法是對(duì)JSDK進(jìn)行擴(kuò)展,使之除了支持標(biāo)準(zhǔn)的application/x-www-form-urlencoded mime 類(lèi)型之外,還支持其他類(lèi)型的表單編碼。例如,你可以加入對(duì)multipart/form-data mime類(lèi)型的支持,用于處理通過(guò)HTTP上載文件。接口方法getParameterNames(), getParameterValues()等等,都是在sun.Servlet包中實(shí)現(xiàn)的,所以你需要配置JSDK ,以便加入這些支持。還有一種變通的方法,你可以自己實(shí)現(xiàn)有關(guān)方法,但那樣做,就需要復(fù)制代碼或者改變JSDK的語(yǔ)義。上面的這些方法都是可行的,但是沒(méi)有哪一種是***無(wú)缺的。
結(jié)論
現(xiàn)在你應(yīng)該會(huì)自己創(chuàng)建Java Servlets了,它們可以用來(lái)代替?zhèn)鹘y(tǒng)的Perl和C/C++ CGI程序。 Java的面向?qū)ο蟮奶匦院汀熬帉?xiě)一次,到處運(yùn)行”的機(jī)制使得Java Servlets的編寫(xiě)很簡(jiǎn)單。Servlet的穩(wěn)固性,可以解決有關(guān)狀態(tài)管理問(wèn)題,而這些都是只用一次的CGI程序解決實(shí)際問(wèn)題時(shí)通常會(huì)遇到的難題。Servlets可以利用Java語(yǔ)言的所有功能,包括JDBC和RMI。由于大多數(shù)網(wǎng)絡(luò)服務(wù)器都加入了對(duì)Servlet的支持,Java將迅速成為開(kāi)發(fā)企業(yè)級(jí)應(yīng)用程序的一種可選語(yǔ)言。
【編輯推薦】
- Servlet容器的會(huì)話跟蹤
- 詳解Servlet實(shí)例
- 淺談Servlet讀取請(qǐng)求頭
- 調(diào)用Http Servlet Request的方法
- 淺析Servlet基本結(jié)構(gòu)
新聞名稱(chēng):淺談Java Servlets與CGI程序
文章地址:http://m.fisionsoft.com.cn/article/dpijjis.html


咨詢(xún)
建站咨詢(xún)
