posts - 4,comments - 15,trackbacks - 0
          出于工作&興趣,最近在學(xué)習(xí)研究jsp/servlet ,結(jié)合理論再編程實(shí)踐,感覺(jué)學(xué)到的東西多而雜,需要好好梳理一下,于是寫(xiě)下這篇心得,與大家一起分享。由于初涉java ,很多總結(jié)出的僅僅是經(jīng)驗(yàn)或個(gè)人感受,加上第一次寫(xiě)技術(shù)博,緊張得流汗,謬誤難免,歡迎大家多多指教。我的聯(lián)系方式是:tianlinux at gmail dot com 。MSN 帳號(hào):tianlinx at hotmail dot com 。 我假設(shè)了您已經(jīng)熟悉基本的java 語(yǔ)法,并且對(duì)Web 應(yīng)用程序的概念也有基本的了解了。我還假設(shè)了您的計(jì)算機(jī)已經(jīng)安裝了JDK1.4以上,如果還沒(méi)有裝,就到sun的官網(wǎng)去下載吧,或者google一下,應(yīng)該很好找到的。當(dāng)您準(zhǔn)備好這一切,我們就可以開(kāi)始一起學(xué)習(xí)JSP/Servlet了。

           

          JSP/Servlet 的關(guān)系

          JSP &Servlet 屬于java web 層的技術(shù),作用都是用來(lái)實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)頁(yè)。JSP 主要面向的是網(wǎng)頁(yè)設(shè)計(jì)人員,Servlet 主要面向的是程序設(shè)計(jì)人員。無(wú)論你采用兩者中哪一種單一的技術(shù),你都可以解決所有動(dòng)態(tài)網(wǎng)頁(yè)呈現(xiàn)的問(wèn)題。從運(yùn)行方式上講,JSP 事實(shí)上需要轉(zhuǎn)譯為Servlet 才能運(yùn)行,所以,有一種說(shuō)法說(shuō)它們是"一面兩體",這是很恰當(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ù),就要通過(guò)網(wǎng)絡(luò),并在一定的通訊協(xié)議下進(jìn)行。最常見(jiàn)和常用的協(xié)議是HTTP 。客戶端向服務(wù)器發(fā)送數(shù)據(jù),遵循的是HTTP 協(xié)議的數(shù)據(jù)格式,服務(wù)器向客戶端發(fā)送數(shù)據(jù)也是遵循HTTP協(xié)議的。在客戶端和服務(wù)器端,可能存在著不同的編程語(yǔ)言編寫(xiě)的程序,比如java,C++等等。各種語(yǔ)言都有自己用于處理HTTP協(xié)議數(shù)據(jù)的方法(類(lèi)),為了使用java提供的各種HTTP處理相關(guān)的類(lèi),必須將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é),我們?cè)诤竺嬖儆懻撨@個(gè)問(wèn)題。
          我用的JSP/Servlet容器是Tomcat 5.5.12。這里給大家一個(gè)google上找到的鏈接,下載源比較穩(wěn)定。http://leshui.clwind.com/Download/apache-tomcat-5.5.12.exe
          下載完成后,即可安裝。
          安裝過(guò)程沒(méi)有太大問(wèn)題,中間有步需要輸入一個(gè)管理員密碼,自己隨便設(shè)吧,這里我們只是針對(duì)學(xué)習(xí),不針對(duì)商業(yè)應(yīng)用,所以設(shè)個(gè)傻瓜密碼也無(wú)所謂。這個(gè)密碼在你配置服務(wù)器的時(shí)候會(huì)用到。

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

          為了快點(diǎn)體驗(yàn)到自己建服務(wù)器的快感,我們不做任何設(shè)置,先點(diǎn)了Start再說(shuō)吧,等待啟動(dòng)完成。好了,現(xiàn)在您的計(jì)算機(jī)已經(jīng)作為服務(wù)器啟動(dòng)了。剛才那個(gè)“該頁(yè)無(wú)法顯示”呢?刷新一下試試。如果您在左上角看到那只黃貓,您的服務(wù)器就已經(jīng)啟動(dòng)了!

          在這個(gè)網(wǎng)頁(yè)的左邊,Administration里面,有Tomcat Manager的鏈接,點(diǎn)擊它,會(huì)彈出一個(gè)輸入用戶和密碼的對(duì)話框,輸入剛才安裝的時(shí)候的帳號(hào)密碼。默認(rèn)帳號(hào)是admin,密碼。。。不會(huì)就忘了吧:)。

          進(jìn)入了Manager的頁(yè)面了嗎?好了,您可以瀏覽一下這個(gè)網(wǎng)頁(yè)的內(nèi)容,在Applications這個(gè)列表里面,列出了在當(dāng)前服務(wù)器上可以瀏覽的所有路徑。您可以隨意瀏覽一下,里面如果有一些jsp的例子您現(xiàn)在無(wú)法理解,沒(méi)有關(guān)系,我們現(xiàn)在先拋開(kāi)它。今天要做的最后一件事就是在這個(gè)服務(wù)器上建立自己的一個(gè)web文件夾,以后我們將在這個(gè)文件夾中部署我們自己的寫(xiě)的小web應(yīng)用程序(JSP/Servlet)。目前列表中的所有路徑,都是在Tomcat的安裝路徑下,/webapp/xxx下面。

          好了,言歸正傳,我們現(xiàn)在來(lái)建自己的文件夾,并發(fā)布到服務(wù)器上。在您的本地硬盤(pán)上任意地新建一個(gè)文件夾,并任意命名。我這里以D:/webapp/為例子。我想把這個(gè)文件夾作為我的webapp文件夾,并且在服務(wù)器上,這個(gè)文件夾的名字叫"tianlinux"。在剛才那個(gè)manager的頁(yè)面下面,Deploy欄,里面Context Path (optional): 填上"/tianlinux"(不要引號(hào)!),在WAR or Directory URL:填上"file:d:/webapp",然后點(diǎn)擊"Deploy",好了,看這個(gè)網(wǎng)頁(yè)的最上面Message欄,是否已經(jīng)顯示"OK - Deployed application at context path /tianlinux"?好了,現(xiàn)在在Applications列表里面也有/tianlinux這個(gè)子項(xiàng)了。點(diǎn)擊它,會(huì)跳轉(zhuǎn)到directories list的頁(yè)面。當(dāng)然,現(xiàn)在這個(gè)文件夾里面沒(méi)有任何的文件和文件夾,怪可憐的,新建一個(gè)txt文檔,改名為:hello.jsp,在里面添加如下一句代碼

          <% out.println("Hello, JSP/Servlet"); %>


          保存,關(guān)閉。這時(shí)你需要reload一下這個(gè)文件夾,就在Applications的列表里就有鏈接~或者干脆把/tianlinux文件夾Undeploy,再重新deploy一次也可以。
          訪問(wèn):http://localhost:8080/tianlinux/hello.jsp。如果顯示出"Hello, JSP/Servlet",今天就打完收工了。。。第一次寫(xiě),好累。如果沒(méi)有搞定。。。給我留言或?qū)懶虐伞?/p>

           

          下期:JSP基礎(chǔ)。

          posted on 2007-05-29 22:58 tianlinux 閱讀(1878) 評(píng)論(8)  編輯  收藏 所屬分類(lèi): JSP/Servlet

          FeedBack:
          # re: JSP/Servlet學(xué)習(xí)筆記(一)——JSP容器
          2007-05-30 23:57 | 凌宇清輝♂毐
          寫(xiě)得不錯(cuò),適合初學(xué)者,細(xì)節(jié)的地方都很清楚,照著操作應(yīng)該沒(méi)什么問(wèn)題。順便提一句,文筆還是那么溫柔......  回復(fù)  更多評(píng)論
            
          # re: JSP/Servlet學(xué)習(xí)筆記(一)——JSP容器
          2007-05-30 23:58 | 凌宇清輝♂毐
          介紹一下其他容器,至少提一下,個(gè)人意見(jiàn)。  回復(fù)  更多評(píng)論
            
          # re: JSP/Servlet學(xué)習(xí)筆記(一)——JSP容器
          2007-06-01 14:42 | CallMeXP
          板主干得不錯(cuò)啊,給我們帶路,辛苦辛苦!!  回復(fù)  更多評(píng)論
            
          # re: JSP/Servlet學(xué)習(xí)筆記(一)——JSP容器
          2007-06-01 17:41 | lyjyl
          現(xiàn)在覺(jué)得
          開(kāi)培訓(xùn)班,也很賺錢(qián)  回復(fù)  更多評(píng)論
            
          # re: JSP/Servlet學(xué)習(xí)筆記(一)——JSP容器[未登錄](méi)
          2007-06-01 18:32 | 亮子
          講的好  我正需要呢  呵呵
          可是還是遇到了點(diǎn)問(wèn)題 tomcat運(yùn)行了 可是Internet還顯示無(wú)法打開(kāi)見(jiàn)不到
          tomcat主頁(yè)(我沒(méi)裝別的數(shù)據(jù)庫(kù))
          我的機(jī)子裝JBuilder2005時(shí)有附帶的 但是雙擊啟動(dòng) 一閃就沒(méi)了
          所以裝了朋友的這個(gè) 但是運(yùn)行還是不見(jiàn)主頁(yè)  
          還有什么辦法么?  我qq284864198
          在本貼上說(shuō)也行 明天在來(lái)觀顧  回復(fù)  更多評(píng)論
            
          # re: JSP/Servlet學(xué)習(xí)筆記(一)——JSP容器
          2008-10-01 13:19 | sky_moon
          寫(xiě)的很好啊 ,看了受益匪淺啊 謝謝樓主了  回復(fù)  更多評(píng)論
            
          # re: JSP/Servlet學(xué)習(xí)筆記(一)——JSP容器
          2008-12-15 21:19 | zhusupe
          講的不錯(cuò),多謝。  回復(fù)  更多評(píng)論
            
          # re: JSP/Servlet學(xué)習(xí)筆記(一)——JSP容器
          2009-02-19 23:30 | 飯粒
          我也是剛剛學(xué)習(xí),看了這個(gè),似乎明白了一些問(wèn)題了。
          謝謝了。  回復(fù)  更多評(píng)論
            

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 彩票| 汕头市| 西畴县| 界首市| 义马市| 尤溪县| 萝北县| 西盟| 焦作市| 女性| 乌兰浩特市| 隆德县| 康保县| 普兰店市| 通江县| 连州市| 宣威市| 罗城| 温宿县| 乾安县| 年辖:市辖区| 乐东| 辰溪县| 长兴县| 荆门市| 长丰县| 新竹县| 蓬安县| 舒城县| 临夏县| 双牌县| 且末县| 夏邑县| 巨鹿县| 调兵山市| 石台县| 榆中县| 上虞市| 平度市| 阜南县| 余江县|