資源描述:
《基于tomcat的web開發(fā)》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、1.1Web技術(shù)的發(fā)展2008-08-1213:09孫鑫電子工業(yè)出版社我要評論(0)字號:T
2、T《Servlet/JSP深入詳解:基于Tomcat的Web開發(fā)》第1章Servlet與Tomcat,要掌握J(rèn)avaWeb開發(fā),首先就要學(xué)會編寫Servlet,而要運(yùn)行Servlet,則需要一個Servlet容器,本節(jié)為大家介紹Web技術(shù)的發(fā)展。AD:第1章Servlet與Tomcat本章要點(diǎn)了解Web技術(shù)的發(fā)展掌握Servlet和Servlet容器的相關(guān)概念了解Tomcat的作用掌握Tomcat的安裝和配
3、置了解Tomcat的啟動過程熟悉Tomcat的體系結(jié)構(gòu)會用Tomcat的管理程序要掌握J(rèn)avaWeb開發(fā),首先就要學(xué)會編寫Servlet,而要運(yùn)行Servlet,則需要一個Servlet容器,本書選用的是Tomcat。下面讓我們來了解一下Servlet和Tomcat。1.1??Web技術(shù)的發(fā)展隨著Internet的發(fā)展,基于HTTP協(xié)議和HTML標(biāo)準(zhǔn)的Web應(yīng)用呈幾何數(shù)量級的增長,人們的生活在不知不覺中已經(jīng)被網(wǎng)絡(luò)悄悄地改變了。在網(wǎng)絡(luò)普及之前,我們購買圖書要去書店,給親人匯錢要去郵局或者銀行……而現(xiàn)在
4、,一切都是這么便捷,你可以在網(wǎng)上購買圖書、匯款、繳納電話費(fèi),你甚至可以為遠(yuǎn)在他鄉(xiāng)的女朋友訂購一束玫瑰。各種各樣的網(wǎng)上業(yè)務(wù)豐富了我們的生活,節(jié)省了我們的時間,提高了我們的工作效率,改善了我們的生活品質(zhì)。支撐這些網(wǎng)上業(yè)務(wù)的就是各種各樣的Web應(yīng)用,而這些Web應(yīng)用又是用各種Web技術(shù)開發(fā)的。早期的Web應(yīng)用主要是靜態(tài)頁面的瀏覽(如新聞的瀏覽),這些靜態(tài)頁面使用HTML語言來編寫,放在服務(wù)器上;用戶使用瀏覽器通過HTTP協(xié)議請求服務(wù)器上的Web頁面,服務(wù)器上的Web服務(wù)器軟件接收到用戶發(fā)送的請求后,讀取請
5、求URI所標(biāo)識的資源,加上消息報頭發(fā)送給客戶端的瀏覽器;瀏覽器解析響應(yīng)中的HTML數(shù)據(jù),向用戶呈現(xiàn)多姿多彩的HTML頁面。整個過程如圖1-1所示。?圖1-1?瀏覽器請求靜態(tài)頁面隨著網(wǎng)絡(luò)的發(fā)展,很多線下業(yè)務(wù)開始向網(wǎng)上發(fā)展,基于Internet的Web應(yīng)用也變得越來越復(fù)雜,用戶所訪問的資源已不僅僅局限于在服務(wù)器硬盤上存放的靜態(tài)網(wǎng)頁,更多的應(yīng)用需要根據(jù)用戶的請求動態(tài)生成頁面信息,復(fù)雜一些的還需要從數(shù)據(jù)庫中提取數(shù)據(jù),經(jīng)過一定的運(yùn)算,生成一個頁面返回給客戶。例如,筆者通過Web瀏覽器想要查詢本公司一年的銷售報
6、表,這個銷售報表是根據(jù)一年的銷售數(shù)據(jù)得出的,而這一年的銷售數(shù)據(jù)非常多,通常都是存儲在數(shù)據(jù)庫中,當(dāng)Web服務(wù)器端軟件接收到客戶端的請求,就需要從數(shù)據(jù)庫中提取一年的數(shù)據(jù),然后按照一定的統(tǒng)計規(guī)則,通過計算生成報表頁面,發(fā)送到請求者的Web瀏覽器端。類似于上述的應(yīng)用還有很多,要為用戶提供各種各樣的增強(qiáng)功能,就需要我們在Web服務(wù)端通過軟件來實現(xiàn)。可是這種實現(xiàn),如何才能完成呢?了解HTTP協(xié)議的讀者,可能會想到,可以遵循HTTP協(xié)議實現(xiàn)一個服務(wù)器端軟件,提供增強(qiáng)功能。想法本身沒有錯誤,但是由于HTTP協(xié)議服務(wù)
7、器端的實現(xiàn)較為復(fù)雜,需要考慮很多方面,而且由于應(yīng)用的廣泛性,不可能針對每一種應(yīng)用都去實現(xiàn)這樣的一個HTTP服務(wù)器,所以這種方法在現(xiàn)實中不太可行。還有一種方法,就是利用已經(jīng)實現(xiàn)HTTP協(xié)議的服務(wù)器端軟件,而這些軟件預(yù)先為我們留出了擴(kuò)展的接口,我們只需要按照一定的規(guī)則去提供相應(yīng)的擴(kuò)展功能。當(dāng)這類Web服務(wù)器接收到客戶請求后,判斷請求是否是訪問我們提供的擴(kuò)展功能,如果是,就將請求交由我們所編寫的程序去處理。當(dāng)處理完成后,程序?qū)⑻幚斫Y(jié)果交回Web服務(wù)器軟件,Web服務(wù)器軟件拿到結(jié)果信息后,再將結(jié)果作為響應(yīng)信
8、息返回給客戶端。第二種方式的好處在于,我們不需要對HTTP協(xié)議有過多的了解,HTTP協(xié)議服務(wù)器端的實現(xiàn)已經(jīng)由Web服務(wù)器軟件完成了,我們只需要根據(jù)我們的應(yīng)用去開發(fā)相應(yīng)的功能模塊,然后將這些功能模塊按照你所采用的Web服務(wù)器軟件的要求,部署到Web服務(wù)器中進(jìn)行集成。在用戶看來,Web服務(wù)器端就是一個整體,在為他/她提供服務(wù)。早期使用的Web服務(wù)器擴(kuò)展機(jī)制是CGI,它允許用戶調(diào)用Web服務(wù)器上的CGI程序。CGI的全稱是CommonGatewayInterface,即公共網(wǎng)關(guān)接口。大多數(shù)的CGI程序使用
9、Perl來編寫,也有使用C、Python或PHP來編寫的。用戶通過單擊某個鏈接或者直接在瀏覽器的地址欄中輸入URL來訪問CGI程序,Web服務(wù)器接收到請求后,發(fā)現(xiàn)這個請求是給CGI程序的,于是就啟動并運(yùn)行這個CGI程序,對用戶請求進(jìn)行處理。CGI程序解析請求中的CGI數(shù)據(jù),處理數(shù)據(jù),并產(chǎn)生一個響應(yīng)(通常是HTML頁面)。這個響應(yīng)被返回給Web服務(wù)器,Web服務(wù)器包裝這個響應(yīng)(例如添加消息報頭),以HTTP響應(yīng)的形式發(fā)送給Web瀏覽器。整個過程如圖1-2所示。?圖1-2