出于工作&興趣,最近在學(xué)習(xí)研究jsp/servlet ,結(jié)合理論再編程實(shí)踐,感覺學(xué)到的東西多而雜,需要好好梳理一下
,于是寫下這篇心得,與大家一起分享。由于初涉java ,很多總結(jié)出的僅僅是經(jīng)驗(yàn)或個(gè)人感受,加上第一次寫技術(shù)博,緊張得流汗,謬誤難免,歡迎大家多多指教。我的聯(lián)系方式是:tianlinux at gmail dot com 。MSN 帳號:tianlinx at hotmail dot com 。 我假設(shè)了您已經(jīng)熟悉基本的java 語法,并且對Web 應(yīng)用程序的概念也有基本的了解了。我還假設(shè)了您的計(jì)算機(jī)已經(jīng)安裝了JDK1.4以上,如果還沒有裝,就到sun的官網(wǎng)去下載吧,或者google一下,應(yīng)該很好找到的。當(dāng)您準(zhǔn)備好這一切,我們就可以開始一起學(xué)習(xí)JSP/Servlet了。
JSP/Servlet 的關(guān)系
JSP &Servlet 屬于java web 層的技術(shù),作用都是用來實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)頁。JSP 主要面向的是網(wǎng)頁設(shè)計(jì)人員,Servlet 主要面向的是程序設(shè)計(jì)人員。無論你采用兩者中哪一種單一的技術(shù),你都可以解決所有動(dòng)態(tài)網(wǎng)頁呈現(xiàn)的問題。從運(yùn)行方式上講,JSP 事實(shí)上需要轉(zhuǎn)譯為Servlet 才能運(yùn)行,所以,有一種說法說它們是"一面兩體",這是很恰當(dāng)?shù)摹ervlet 從本質(zhì)上講,就是java 程序片段。
JSP/Servlet 容器
既然 Servlet是 java程序片段,那么它當(dāng)然是不能直接運(yùn)行的,必須把它放到某種運(yùn)行環(huán)境當(dāng)中,它才能發(fā)揮它的作用。這個(gè)環(huán)境就是我們講的"容器"。容器也是 java 程序,它的主要功能除了為Servlet 提供運(yùn)行環(huán)境,還有更重要的,就是提供網(wǎng)絡(luò)傳輸協(xié)議與java 程序?qū)嶓w的相互轉(zhuǎn)換。為什么需要這種轉(zhuǎn)換呢?因?yàn)閃eb 應(yīng)用程序是分布式的,客戶端和服務(wù)器端之間需要交換數(shù)據(jù),就要通過網(wǎng)絡(luò),并在一定的通訊協(xié)議下進(jìn)行。最常見和常用的協(xié)議是HTTP 。客戶端向服務(wù)器發(fā)送數(shù)據(jù),遵循的是HTTP 協(xié)議的數(shù)據(jù)格式,服務(wù)器向客戶端發(fā)送數(shù)據(jù)也是遵循HTTP協(xié)議的。在客戶端和服務(wù)器端,可能存在著不同的編程語言編寫的程序,比如java,C++等等。各種語言都有自己用于處理HTTP協(xié)議數(shù)據(jù)的方法(類),為了使用java提供的各種HTTP處理相關(guān)的類,必須將HTTP協(xié)議下的數(shù)據(jù)做一定的轉(zhuǎn)換,轉(zhuǎn)換成一些java object,這樣才能使用java的方法進(jìn)行數(shù)據(jù)處理。同理,當(dāng)這些處理完成,又需要將這些java object轉(zhuǎn)換回HTTP協(xié)議下的數(shù)據(jù),反饋給客戶端(JSP/Servlet當(dāng)然存在與服務(wù)器端)。JSP/Servlet容器就扮演了完成這個(gè)雙向轉(zhuǎn)換的角色。至于JSP/Servlet容器為java程序片段提供運(yùn)行環(huán)境的細(xì)節(jié),我們在后面再討論這個(gè)問題。
我用的JSP/Servlet容器是Tomcat 5.5.12。這里給大家一個(gè)google上找到的鏈接,下載源比較穩(wěn)定。http://leshui.clwind.com/Download/apache-tomcat-5.5.12.exe。
下載完成后,即可安裝。
安裝過程沒有太大問題,中間有步需要輸入一個(gè)管理員密碼,自己隨便設(shè)吧,這里我們只是針對學(xué)習(xí),不針對商業(yè)應(yīng)用,所以設(shè)個(gè)傻瓜密碼也無所謂。這個(gè)密碼在你配置服務(wù)器的時(shí)候會(huì)用到。

完成了Tomcat的安裝,您馬上就可以啟動(dòng)您自己的服務(wù)器了,^_^,如果以前沒有做過,有點(diǎn)緊張吧。
在啟動(dòng)以前,讓我們先打開web瀏覽器,輸入:http://localhost:8080,回車,看到了什么?“該頁無法顯示”一類的顯示吧,呵呵,不要急,馬上給您一個(gè)驚喜。
很簡單:開始->程序->Apache Tomcat 5.5->configure tomcat。會(huì)看到下面那個(gè)對話框:

為了快點(diǎn)體驗(yàn)到自己建服務(wù)器的快感,我們不做任何設(shè)置,先點(diǎn)了Start再說吧,等待啟動(dòng)完成。好了,現(xiàn)在您的計(jì)算機(jī)已經(jīng)作為服務(wù)器啟動(dòng)了。剛才那個(gè)“該頁無法顯示”呢?刷新一下試試。如果您在左上角看到那只黃貓,您的服務(wù)器就已經(jīng)啟動(dòng)了!
在這個(gè)網(wǎng)頁的左邊,Administration里面,有Tomcat Manager的鏈接,點(diǎn)擊它,會(huì)彈出一個(gè)輸入用戶和密碼的對話框,輸入剛才安裝的時(shí)候的帳號密碼。默認(rèn)帳號是admin,密碼。。。不會(huì)就忘了吧:)。
進(jìn)入了Manager的頁面了嗎?好了,您可以瀏覽一下這個(gè)網(wǎng)頁的內(nèi)容,在Applications這個(gè)列表里面,列出了在當(dāng)前服務(wù)器上可以瀏覽的所有路徑。您可以隨意瀏覽一下,里面如果有一些jsp的例子您現(xiàn)在無法理解,沒有關(guān)系,我們現(xiàn)在先拋開它。今天要做的最后一件事就是在這個(gè)服務(wù)器上建立自己的一個(gè)web文件夾,以后我們將在這個(gè)文件夾中部署我們自己的寫的小web應(yīng)用程序(JSP/Servlet)。目前列表中的所有路徑,都是在Tomcat的安裝路徑下,/webapp/xxx下面。
好了,言歸正傳,我們現(xiàn)在來建自己的文件夾,并發(fā)布到服務(wù)器上。在您的本地硬盤上任意地新建一個(gè)文件夾,并任意命名。我這里以D:/webapp/為例子。我想把這個(gè)文件夾作為我的webapp文件夾,并且在服務(wù)器上,這個(gè)文件夾的名字叫"tianlinux"。在剛才那個(gè)manager的頁面下面,Deploy欄,里面Context Path (optional): 填上"/tianlinux"(不要引號!),在WAR or Directory URL:填上"file:d:/webapp",然后點(diǎn)擊"Deploy",好了,看這個(gè)網(wǎng)頁的最上面Message欄,是否已經(jīng)顯示"OK - Deployed application at context path /tianlinux"?好了,現(xiàn)在在Applications列表里面也有/tianlinux這個(gè)子項(xiàng)了。點(diǎn)擊它,會(huì)跳轉(zhuǎn)到directories list的頁面。當(dāng)然,現(xiàn)在這個(gè)文件夾里面沒有任何的文件和文件夾,怪可憐的,新建一個(gè)txt文檔,改名為:hello.jsp,在里面添加如下一句代碼

<% out.println("Hello, JSP/Servlet"); %>
保存,關(guān)閉。這時(shí)你需要reload一下這個(gè)文件夾,就在Applications的列表里就有鏈接~或者干脆把/tianlinux文件夾Undeploy,再重新deploy一次也可以。
訪問:http://localhost:8080/tianlinux/hello.jsp。如果顯示出"Hello, JSP/Servlet",今天就打完收工了。。。第一次寫,好累。如果沒有搞定。。。給我留言或?qū)懶虐伞?/p>
下期:JSP基礎(chǔ)。
posted on 2007-05-29 22:58
tianlinux 閱讀(1872)
評論(8) 編輯 收藏 所屬分類:
JSP/Servlet