<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 3, 文章 - 152, 評(píng)論 - 17, 引用 - 0
    數(shù)據(jù)加載中……

    9.1 Eclipse的WEB環(huán)境的搭建

    *******************************************************
    作者:陳剛,普通程序員,曾有幸以Eclipse插件方式開發(fā)過一個(gè)中型軟件。現(xiàn)將所學(xué)
    付諸于紙,暫取書名<Eclipse插件開發(fā)指南>,將于2005年初由清華大學(xué)出版社出版。
    blog:http://blog.csdn.net/glchengang/
    ******************************************************* 

    9  EclipseJ2EE開發(fā)

           Eclipse默認(rèn)安裝是沒有J2EE開發(fā)支持的,它需要安裝第三方插件,本章的主要介紹的J2EE開發(fā)插件是Lomboz,主要開發(fā)環(huán)境是Tomcat + Lomboz + Struts + Hibernate,這是當(dāng)前比較流行的一種選擇。其中Tomcat充當(dāng)WEB服務(wù)器;LombozJ2EE開發(fā)的工具;Struts提供強(qiáng)大的MVC模式支持;Hibernate替代笨重的EJB來充當(dāng)數(shù)據(jù)庫的持久層。

    以上所有的工具和軟件包不僅流行、功能強(qiáng)大、而且是免費(fèi)的,是J2EE開發(fā)典型搭配。本章將分三個(gè)層次來漸進(jìn)式的展開講解:

    l           Lomboz下的純J2EE開發(fā)

    l           融合StrutsJ2EE開發(fā)

    l           融合StrutsHibernate后的J2EE開發(fā)

    由于篇幅有限,本章以開發(fā)環(huán)境的安裝和配置為重點(diǎn),并輔以一個(gè)典型而有深度的實(shí)例來演示具體的開發(fā)操作,最后給出一個(gè)擴(kuò)展知識(shí)的資料索引。

    本章和第8章一樣也使用CVS來管理所有例程,在每一節(jié)的標(biāo)題后會(huì)用括號(hào)顯示這一節(jié)的版本號(hào)。本章具體的環(huán)境為:WindowsXP + JDK1.4.2_06 + Eclipse3.1M4 + cvsnt2.0.58d + Tomcat5.0.28 + Lomboz3.1.0 + Struts 1.2.4

    9.1  WEB環(huán)境的搭建(V0010

    9.1.1  下載CVS版本注意事項(xiàng)

    由于V0010版,存在一些空目錄,而這些空目錄也是必須要的,否則項(xiàng)目會(huì)出錯(cuò)。這需要修改一個(gè)CVS的配置,如下圖9.1所示,打開Eclipse的首選項(xiàng)→小組→CVS→將“修剪空目錄”項(xiàng)取消勾選。

    9.1  修改CVS配置

    9.1.2  Tomcat的下載與安裝

           這一節(jié)先搭建好Tomcat環(huán)境,Tomcat的下載安裝和EclipseLomboz都沒有直接關(guān)系,它是完全獨(dú)立的。

    1、下載Tomcat

    1)用IE打開Tomcat的下載頁面:http://jakarta.apache.org/tomcat/index.html,選擇頁面左邊的鏈接“Binaries”,轉(zhuǎn)到下圖9.2所示的頁面:

    9.2  Tomcat項(xiàng)目選擇

    3)單擊上圖中標(biāo)識(shí)的“Tomcat”項(xiàng),出現(xiàn)如下圖9.3所示的頁面

    9.3  具體下載項(xiàng)

    4)下載上圖9.3所示的“5.0.28.exe”項(xiàng),下載后的文件名為:jakarta-tomcat-5.0.28.exe

    l           注意:

    l           1)不要下載Tomcat5.5.*版,因?yàn)槟切枰?/SPAN>JDK5.0的支持;也不要下載4.1.*版,它的功能太弱了。因?yàn)椴煌姹局g的安裝和配置都會(huì)有所不同,為了和本教程同步,一定要下載5.0.28版。

    l           2)如果用FlashGet等多線程下載工具無法下載,則改用原始的IE右鍵菜單的“另存為…”項(xiàng)來下載。

    2、安裝Tomcat

    安裝Tomcat的過程比較簡(jiǎn)單,雙擊得到的下載文件:jakarta-tomcat-5.0.28.exe,開始安裝。

    1)選擇安裝組件。接受默認(rèn)的勾選即可,如下圖9.4所示。

    9.4  選擇組件

           2)選擇Tomcat安裝目錄。也一樣接受默認(rèn)值,將安裝到C:\Program Files\Apache Software Foundation\Tomcat 5.0目錄下,如下圖9.5所示:

    9.5  Tomcat的安裝目錄

           3)選擇HTTP監(jiān)聽端口(Port),如下圖9.6所示。默認(rèn)端口是8080,如果8080端口已被你電腦上的其他軟件所占用(如IISJBoss等),則可以另選擇一個(gè)空閑的端口。最后,給Tomcat的超級(jí)管理員admin設(shè)為一個(gè)密碼(本書設(shè)為123456)。

    9.6  設(shè)置端口和密碼

           4)設(shè)置Tomcat使用的JVM,本書的默認(rèn)值為“C:\Program Files\Java\j2re1.4.2_06”,如下圖9.7所示。很多資料都指出,在安裝JDK時(shí)要設(shè)置設(shè)置classpathJAVA_HOMEpath等環(huán)境變量,但本書從第一章開始就從沒有設(shè)置過這些環(huán)境變量,一樣可以運(yùn)行通暢,也許是新版的JDK1.4.2_06很好的解決了這些問題。從這一步也可以看到,Tomcat已經(jīng)在安裝時(shí)定位好了JVM的位置,不必再手工設(shè)置了。

    設(shè)置好JVM后,單擊“install”按鈕,開始安裝。

    9.7  定位JVM的位置

           5)安裝完成之后,在Windows的“控制面板”→“管理工具”→“服務(wù)”窗口中,可以看到Tomcat已經(jīng)注冊(cè)為windows的一項(xiàng)服務(wù),如下圖9.8所示。請(qǐng)確定它是“手動(dòng)”方式,這一點(diǎn)在開發(fā)時(shí)很重要,因?yàn)槲覀円院笠ㄟ^Eclipse來啟動(dòng)Tomcat

    9.8  windows“服務(wù)”窗口

    3、啟動(dòng)Tomcat

    雖然以后在開發(fā)時(shí),是要通過Eclipse來啟動(dòng)Tomcat,但現(xiàn)在為了測(cè)試Tomcat是否安裝成功,暫時(shí)先啟動(dòng)Tomcat

    1)可以通過Windows的“開始”菜單→“Apache Tomcat5.0”組→“Configure Tomcat”項(xiàng)來運(yùn)行Tomcat的配置界面(如下圖9.10所示),這個(gè)界面包含了Tomcat的一些參數(shù)設(shè)置,這些設(shè)置一般都不用去改動(dòng)它。直接“單擊”按鈕,即可啟動(dòng)Tomcat

    9.10 Tomcat的配置界面

    2)在IE瀏覽器中輸入“http://localhost:8080”或“http://127.0.0.1:8080”,其中8080為安裝時(shí)設(shè)置的端口號(hào)。如果啟動(dòng)成功,則會(huì)出現(xiàn)如下圖9.11所示的頁面;反之,如果沒有出現(xiàn)此頁面,則表示啟動(dòng)未成功,這時(shí)你需要檢查前面的安裝步驟是否和本書的一致。

    9.11  驗(yàn)證Tomcat是否安裝及啟動(dòng)成功

           附注:在上圖頁面的左部有兩個(gè)鏈接:Tomcat AdministrationTomcat Manager,它們是用于管理Tomcat的,登錄密碼都是在安裝Tomcat時(shí)設(shè)置的用戶名admin和密碼123456。其中,Tomcat Adiministration項(xiàng)可以設(shè)置數(shù)據(jù)庫連接池、管理用戶及權(quán)限、以及其他一些Tomcat服務(wù)器相關(guān)設(shè)置;Tomcat Manager項(xiàng)主要用來發(fā)布網(wǎng)頁管理,通過它可以輕松的將一個(gè)WAR包發(fā)布到Tomcat中。

    關(guān)于Tomcat中文問題的解決,請(qǐng)參閱9.4.6節(jié)。

    9.1.3  Lomboz的下載與安裝

    下載Lomboz時(shí)一定要針對(duì)Eclipse的版本來選擇相應(yīng)的Lomboz版本下載,否則對(duì)應(yīng)版本不同,很有可能會(huì)導(dǎo)致Lomboz無法正常使用。本章由于依然要使用CVS,所以還是用Eclipse3.1M4版,Lomboz選擇相應(yīng)的3.1.0版。

    1、下載Lomboz

    Lomboz的下載地址是:http://forge.objectweb.org/project/showfiles.php?group_id=97 ,下載頁面如下圖9.12所示,請(qǐng)選擇for Eclipse3.1.xLomboz來下載,而且還需要同時(shí)下載emf包(如圖中箭頭所示)。

    下載后的文件名為:

    l           org.objectweb.lomboz_3.1.0.N20050106.zip

    l           emf-sdo-runtime-I200412160800.zip

    9.12  Lomboz的下載頁面

    2、安裝Lomboz

           1)因?yàn)?/SPAN>LombozemfEclipse的插件,所以它和其他Eclipse插件的安裝方法一樣,本書采用Links式的插件安裝方法,具體步驟不再重復(fù),請(qǐng)參閱1.2節(jié)的安裝步驟。

    下圖9.13是安裝完成后的目錄結(jié)構(gòu):

    9.13  lombozemf的安裝目錄結(jié)構(gòu)

            其中圖9.13中的links目錄有新創(chuàng)建的兩個(gè)文本文件:

    l           文件lomboz.link,內(nèi)容僅一句:path=lomboz_3.1.0.N20050106

    l           文件emf.link,內(nèi)容也僅一句:path=emf-sdo-runtime-I200412160800

    2)驗(yàn)證Lomboz是否安裝成功

    啟動(dòng)Eclipse。如果安裝成功,選擇“文件”→“新建”→“項(xiàng)目”會(huì)出現(xiàn)如下圖9.14所示的Lomboz項(xiàng)目。

    9.14  驗(yàn)證Lomboz是否安裝成功

    3)如果未能出現(xiàn)上圖畫面,請(qǐng)做如下檢查和嘗試:

    l           刪除eclipse目錄下的子目錄configuration,再啟動(dòng)Eclipse試一試。

    l           檢查Lomboz的版本是否和Eclipse的一致。

    l           Links文件中的path項(xiàng)是否設(shè)置正確。

    l           Lomboz的目錄結(jié)構(gòu)是否正確:..\lomboz_3.1.0.N20050106\eclipse\plugins,注意lomboz_3.1.0.N20050106plugins的中間還有個(gè)elcipse目錄。

    9.1.4  Lomboz的環(huán)境設(shè)置

    安裝完Lomboz之后,還需要針對(duì)Tomcat做一些設(shè)置才能用于開發(fā)WEB,具體操作步驟如下:

    1)打開Eclipse的首選項(xiàng),設(shè)定JDKtools.jar包的位置,本書是“C:\jdk\lib\tools.jar”,如下圖9.15所示:

    9.15  設(shè)定JDKtools.jar包的位置

    2)如下圖9.16所示,注意,在Server types項(xiàng)的下拉框中,要選擇和當(dāng)前所用Tomcat版本相對(duì)應(yīng)的項(xiàng);Application Server DirectoryClasspath Variable兩項(xiàng)都是指向Tomcat的安裝目錄:C:\Program Files\Apache Software Foundation\Tomcat 5.0

    9.16  TomcatLomboz中的設(shè)置

    3Tomcat5.0.28版本在Lomboz中無法啟動(dòng),必須還要做一些小修改。到Lomboz插件的“..\lomboz_3.1.0.N20050106\eclipse\plugins\com.objectlearn.jdt.j2ee_3.0.1\servers”目錄中,可以看到各種Web服務(wù)器的配置文件,它們都會(huì)顯示在上圖9.16server types下拉框中,除了tomcat50x.server文件外,其他都不需要,把它們都刪除掉或者備份到其他地方。最后,用記事本打開tomcat50x.server,并將所有“${serverRootDirectory}/bin;${serverRootDirectory}/common/endorsed”項(xiàng)替換成“${serverRootDirectory}/common/endorsed”,共有兩處,約在文件中的3539行位置。

    9.1.5  JSP的HelloWorld

    本小節(jié)將寫一個(gè)JSPHelloWorld,用來驗(yàn)證以上TomcatLomboz的環(huán)境是否安裝成功。

    1、設(shè)置Java的構(gòu)建路徑

    打開Eclipse首選項(xiàng),如下圖9.17所示,選擇“java”→“構(gòu)建路徑”→選擇“文件夾”項(xiàng)。經(jīng)過此步設(shè)置之后,新建的Java項(xiàng)目(包括J2EE項(xiàng)目)就會(huì)默認(rèn)以bin為輸出目錄。

    l           注意:這一步相當(dāng)重要,因?yàn)橛?/SPAN>Lomboz創(chuàng)建J2EE項(xiàng)目時(shí),是無法象創(chuàng)建普通Java項(xiàng)目那樣選擇“項(xiàng)目布局”的,此時(shí)J2EE項(xiàng)目的輸出目錄將會(huì)是在項(xiàng)目根目錄下,以后JavaBeanjava文件也會(huì)和class文件混在一塊,非常不便。更關(guān)鍵的是,在后面會(huì)要重新定位JavaBean的輸出路徑,如果不經(jīng)過這一步,則定位JavaBean的輸出路徑時(shí),整個(gè)項(xiàng)目的輸出路徑也會(huì)自動(dòng)定位到bin目錄下,但此時(shí)項(xiàng)目結(jié)構(gòu)都會(huì)調(diào)整,容易導(dǎo)致混亂。總之,此步一定不能省略。

    9.17  設(shè)置Java項(xiàng)目的構(gòu)建路徑

    2、創(chuàng)建一個(gè)J2EE項(xiàng)目

    1)重啟Eclipse。選擇“文件”→“新建”→“項(xiàng)目”,選擇如下圖9.18所示的“Lomboz J2EE Project”項(xiàng)目,然后單擊“下一步”。

    9.18  選擇“Lomboz J2EE Project”項(xiàng)目

    2)輸入項(xiàng)目名稱myweb,然后單擊“下一步”。

    3)在接下的“定義Java構(gòu)建設(shè)置”頁中不做任何改變,直接單擊“下一步”。

    4)最后一個(gè)頁面是J2EE的設(shè)置,如下圖9.199.20所示。共有三步:創(chuàng)建一個(gè)名為helloWeb ModulesWEB模塊);在Targeted Servers選項(xiàng)卡中,選擇“Apache Tomcat v5.0.x”項(xiàng)并單擊“Add”加入;單擊“完成”按鈕,開始生成一個(gè)J2EE項(xiàng)目。

    9.19  創(chuàng)建一個(gè)Web Modules

    9.20  設(shè)置Targeted Servers

    5)完成以上操作之后,“包資源管理器”視圖中會(huì)出現(xiàn)如下圖9.21所示的項(xiàng)目結(jié)構(gòu)。

    9.21  myweb項(xiàng)目的項(xiàng)目結(jié)構(gòu)

    3、在Lomboz中啟動(dòng)Tomcat

    右鍵單擊“hello模塊”,彈出如下圖9.22所示的右鍵菜單,選擇Run Server來啟動(dòng)Tomcat(啟動(dòng)前確保Tomcat還是停止?fàn)顟B(tài))。在這個(gè)菜單中還有其他常用的菜單項(xiàng):

    l           Stop Server 停止Tomcat

    l           Debug Server 用調(diào)試方式啟動(dòng)Tomcat。在WEB開發(fā)中,它比Run Server更常用。

    l           Check All JSP Syntax 檢查項(xiàng)目中所有JSP文件的語法是否符合規(guī)范

    l           Undeploy Module 刪除已經(jīng)發(fā)布在Tomcat上的WEB模塊

    l           Deploy Module 發(fā)布WEB模塊到Tomcat

    l           Show in Browser IE中預(yù)覽本WEB模塊的效果。

    9.22  hello模塊的右鍵菜單

    如果啟動(dòng)Tomcat成功,在控制臺(tái)會(huì)顯示如下圖9.23所示的字符串。

    9.23  控制臺(tái)的輸出顯示

    4、發(fā)布hello模塊

    右鍵單擊hello模塊,打開如上圖9.22所示的右鍵菜單,選擇Deploy Module項(xiàng),將hello模塊發(fā)布到Tomcat

    從下圖9.24的控制臺(tái)輸出,可以看出Lomboz使用Ant來發(fā)布網(wǎng)頁,每一行都顯示出hello模塊的打包發(fā)布過程,下面給出一些關(guān)鍵詞解釋:

    l           mkdir 創(chuàng)建目錄

    l           copy 復(fù)制文件

    l           jar   JDKjar來打包(這里是打包成hello.war

    l           delete 刪除文件

    9.24  發(fā)布hello模塊時(shí)的控制臺(tái)輸出

    再次調(diào)出hello模塊的右鍵菜單,選擇Show in Browser項(xiàng)。Lomboz將打開IE瀏覽器,得到如下圖9.25所示的效果,也可以直接打開IE瀏覽器,輸入地址“http://127.0.0.1:8080/hello/”來查看效果。這個(gè)頁面顯示的是index.jsp文件。

    9.25  IE來查看網(wǎng)頁效果

    5、修改index.jsp

    如下圖9.26所示,修改index.jsp來顯示一個(gè)HelloWorld字符串。

    9.26  修改index.jsp

    保存好之后,還要再用“Deploy Module 菜單項(xiàng)重新發(fā)布hello模塊,然后才能在IE中看到修改后的效果。

    6、一些相關(guān)問題

    1)如果看不到修改效果,有可能是IE的頁面緩存的原因,可以嘗試如下解決辦法:關(guān)掉IE,然后再打開,進(jìn)入“工具”→“Internate選項(xiàng)”,單擊下圖9.27中的“刪除文件”按鈕來刪除IE的網(wǎng)頁緩存。

    9.27  刪除IE頁面緩存

    2)同樣是因?yàn)榫彺嬖颍谕V?/SPAN>Tomcat服務(wù)后,即使刷新網(wǎng)頁卻依然能正常顯示。將IE關(guān)掉重啟,頁面即會(huì)無法訪問。

    3)如果是在Eclipse中啟動(dòng)Tomcat的,則關(guān)閉EclipseTomcat服務(wù)也隨之停止。但建議還是使用“Stop Server”菜單項(xiàng)來正常停止Tomcat服務(wù)。

    9.1.6  如何不必發(fā)布就可以在IE上顯示W(wǎng)EB修改效果

    經(jīng)過前面設(shè)置后,雖然可以開發(fā)WEB了,但每一次修改都要重新發(fā)布hello模塊,才能在IE上顯示修改后的效果,這無疑是開發(fā)時(shí)無法接受的,照這樣,開發(fā)的時(shí)間進(jìn)度至少要增加一倍。本小節(jié)將給出不必不發(fā)布就可以在IE上顯示修改效果的方法。

    首先,解決的辦法是基于以下知識(shí)的:

    l           在發(fā)布hello模塊時(shí),Lomboz是將hello模塊打成一個(gè)WAR壓縮包,然后復(fù)制到Tomcatwebapps目錄,在IE上顯示的網(wǎng)頁就是來自于這個(gè)目錄下的WAR壓縮包中,所以不能直接顯示修改后的JSP文件也是可以理解的了。

    l           Tomcat要發(fā)布網(wǎng)頁,不是必須得打成WAR包,也可以發(fā)布未經(jīng)壓縮的文件目錄。實(shí)際項(xiàng)目中,直接發(fā)布零散文件的方式居多,因?yàn)檫@樣更新JSP文件比較方便。

    l           Tomcat安裝目錄下的conf子目錄里有一個(gè)名為server.xml的文件,它可以用來定義一個(gè)新的WEB應(yīng)用。

    由上面的知識(shí),可以得出以下解決思路:通過修改server.xml文件,定義一個(gè)新的WEB應(yīng)用,將這個(gè)WEB應(yīng)用定位到Eclipseworkspace目錄中的myweb項(xiàng)目。這樣設(shè)置以后,IE顯示的文件就是Eclipse中正在編寫的JSP文件了,也就是說,不必再經(jīng)過打包成WAR發(fā)布這一步。

    具體操作步驟如下:

    1)為了避免干擾,先將原來發(fā)布的hello模塊刪除。

    打開Tomcat主頁面:http://127.0.0.1:8080/。選擇鏈接“Tomcat Manager”,輸入用戶名密碼(admin123456),得到如下圖9.28所示頁面。單擊hello模塊右側(cè)的“Undeploy”將hello模塊從Tomcat上的撤消發(fā)布。

    9.28  撤消Tomcat上的hello模塊

    2)修改server.xml,定義一個(gè)新的WEB應(yīng)用

    server.xml此文件的具體路徑如下:C:\Program Files\Apache Software Foundation\Tomcat 5.0\conf\server.xml。此server.xml文件最未尾的</Host>項(xiàng)之前插入一項(xiàng)<Context>的設(shè)置,<Context>的具體代碼如下:

    <Context path="/hello"

    reloadable="true"

    docBase="C:\eclipse3.1M4\eclipse\workspace\myweb\hello"

    workDir="C:\eclipse3.1M4\eclipse\workspace\myweb\bin" />

    代碼說明:

    l           注意一定要將以上代碼加在緊靠</Host>項(xiàng)之前,<Context>的幾個(gè)屬性可以分行寫,也可以寫成一行。

    l           path 是指WEB模塊的名稱hello,這樣其訪問地址為:http://127.0.0.1:8080/hello/

    l           docBase 定義jsp文件位置。本處指向Eclipsehello模塊的路徑

    l           workDir IE顯示之前,JSP要先編譯成servlet,這個(gè)屬性就是定義hello模塊輸出的servlet的所在位置。如下圖9.29所示,因?yàn)樗ǖ?/SPAN>myweb項(xiàng)目默認(rèn)的輸出路徑為myweb\bin目錄,所以這里的workDir也定位到此myweb\bin目錄。

    9.29 myweb項(xiàng)目的默認(rèn)輸出文件夾

    4)右鍵單擊“hello”模塊→選擇Lomboz J2EE→選擇Debug Server(或Run Server)。然后,在IE瀏覽器中輸入“http://127.0.0.1:8080/hello/”來查看效果。最后,隨便修改一下index.jsp文件,直接刷新一下IE,如果可以看到修改后的效果,表示以上所有設(shè)置成功。

    如下圖9.30所示的“導(dǎo)航器”視圖(注意:不是“包資源管理器”視圖),index.jsp在經(jīng)過IE顯示之后生成幾個(gè)新文件和目錄(可能需要先刷新一下myweb項(xiàng)目):

    9.30  myweb項(xiàng)目結(jié)構(gòu)

    9.1.7  配置Tomcat的數(shù)據(jù)庫連接池

    WEB開發(fā)中,有沒有數(shù)據(jù)庫連接池對(duì)WEB性能的影響非常大,Tomcat有自帶的連接池,這一節(jié)就來配置Tomcat的連接池。

    1、復(fù)制JDBC連接包

    將第8章使用的JDBC連接包mysql-connector-java-3.0.16-ga-bin.jar復(fù)制到C:\Program Files\Apache Software Foundation\Tomcat 5.0\common\lib目錄下,common\libTomcat的全局引用庫的所在目錄,Tomcat在啟動(dòng)時(shí)會(huì)自動(dòng)加載這個(gè)目錄中的所有JAR包。

    有些網(wǎng)上的文章說也可以將數(shù)據(jù)庫連接包復(fù)制到WEB應(yīng)用的WEB-INF\lib中(本例的myweb\hello\WEB-INF\lib目錄),這個(gè)目錄是hello模塊發(fā)布時(shí)會(huì)自動(dòng)加載的一個(gè)包目錄。但經(jīng)筆者實(shí)驗(yàn),如果連接包將放在此目錄中,不用數(shù)據(jù)庫連接池方式來訪問數(shù)據(jù)庫,則連接包可以正常使用;如果使用Tomcat連接池,則會(huì)出錯(cuò)誤,連接包無法使用。

    2、進(jìn)入Tomcat的配置頁面

    IE瀏覽器輸入地址:http://127.0.0.1:8080/admin/ ,打開Tomcat服務(wù)器配置的登錄頁面,再輸入用戶名admin、密碼123456,進(jìn)入Tomcat的配置頁面,如下圖9.31所示:

    9.31  連接池設(shè)置

    單擊左邊的樹結(jié)點(diǎn)“Data Source”→選擇右上角的下拉框的“Create New Data Source”項(xiàng),然后在表格中輸入相應(yīng)的連接池配置信息:

    l           JNDI Namejdbc/mysql 設(shè)置連接池的JNDI名,在Java程序會(huì)用到此名。

    l           Data Source URLjdbc:mysql://localhost/sms 數(shù)據(jù)庫連接字串,sms是數(shù)據(jù)庫。

    l           JDBC Driver Classcom.mysql.jdbc.Driver JDBC連接類。

    l           User Nameroot 數(shù)據(jù)庫登錄用戶名。

    l           Password******   數(shù)據(jù)庫登錄密碼。本例為123456

    l           Max. Active Connections4   最大連接數(shù)。實(shí)際應(yīng)用時(shí),應(yīng)該根據(jù)WEB使用情況設(shè)置得大一些;開發(fā)時(shí),4個(gè)連接足夠了。

    l           Max. Idle Connections2   最大空閑連接數(shù)。

    l           Max. Wait for Connection5000   最大等待連接限制。

    l           Validation Query:驗(yàn)證用的查詢語句,可以不填。

    填寫完以上信息之后,單擊右下角的“Save”按鈕保存修改,再單擊右上角的“Commit Changes”按鈕提交修改。

    3、修改Tomcatserver.xml文件

    server.xml文件的具體路徑:C:\Program Files\Apache Software Foundation\Tomcat 5.0\conf\server.xml,在原來的<Context>項(xiàng)中加入一個(gè)子項(xiàng)< ResourceLink>

    <Context path="/hello"

    reloadable="true"

    docBase="C:\eclipse3.1M4\eclipse\workspace\myweb\hello"

    workDir="C:\eclipse3.1M4\eclipse\workspace\myweb\bin">

    <ResourceLink name="jdbc/mysql"

    global="jdbc/mysql"

    type="javax.sql.DataSourcer"/>

    </Context>

    4、測(cè)試數(shù)據(jù)庫連接池

    將以下測(cè)試程序命名為test.jsp,創(chuàng)建在hello模塊的根目錄下,然后通過IE地址:http://127.0.0.1:8080/hello/test.jsp來訪問。這個(gè)測(cè)試程序從數(shù)據(jù)庫連接池中獲得一個(gè)數(shù)據(jù)庫連接對(duì)象Connection,然后再查詢數(shù)據(jù)庫的iuser表,并用name(姓名)列的數(shù)據(jù)打印出來(注:iuser是在第8章創(chuàng)建的用戶表)。test.jsp運(yùn)行效果如下圖9.32所示:

    9.32  test.jsp的效果

    test.jsp源代碼如下:

    <%@ page contentType="text/html; charset=GBK"%>

    <%@ page import="java.sql.*"%>

    <%@ page import="javax.sql.*"%>

    <%@ page import="javax.naming.*"%>

    <%

    Connection con=null;

    Statement sm=null;

    ResultSet rs=null;

    try{

       InitialContext ctx=new InitialContext();

       DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/mysql");

       con = ds.getConnection();

       sm = con.createStatement();

       rs = sm.executeQuery("select * from iuser");

       while(rs.next())

          out.println(rs.getString("name")+",");

    }catch(Exception e){

        e.printStackTrace();

    }finally {

        if (rs != null) {

            try {

                rs.close();

            } catch (SQLException e) {}

            rs = null;

        }

        if (sm != null) {

            try {

                sm.close();

            } catch (SQLException e) {}

            sm = null;

        }

        if (con != null) {

            try {

                con.close();

            } catch (SQLException e) {}

            con = null;

        }

    }

    %>

    程序說明:

    l           <%@ page contentType="text/html; charset=GBK"%>  這一行是設(shè)置網(wǎng)頁的字符集,也是解決中文亂碼問題的關(guān)鍵一句。如果是純html頁面,則應(yīng)在</HEAD>項(xiàng)之前加入這樣一句:<META http-equiv=Content-Type content="text/html; charset=GBK">

    l           <%@ page import="java.sql.*"%>  這一句類似于Java中的import java.sql.*

    l           ctx.lookup("java:comp/env/jdbc/mysql");  這一句中comp/env是固定不變的,jdbc/mysql是前面連接池設(shè)置的JNDI Name

    l           在程序最后一定要關(guān)閉數(shù)據(jù)庫連接(實(shí)際是將連接返回給連接池,并沒有真正關(guān)閉),否則,很快就會(huì)因連接數(shù)耗盡,而無法再正常顯示JSP頁面。

    posted on 2005-02-15 11:08 閱讀(1035) 評(píng)論(0)  編輯  收藏 所屬分類: Edit Tools

    主站蜘蛛池模板: 国产白丝无码免费视频| 天堂在线免费观看| 久久国产乱子伦精品免费午夜 | 亚洲 自拍 另类小说综合图区| 亚洲精品A在线观看| 亚洲国产精品成人久久| 亚洲欧洲国产经精品香蕉网| 亚洲综合一区国产精品| 人人爽人人爽人人片A免费| 在线观看人成视频免费无遮挡| 最近免费最新高清中文字幕韩国| 成年人网站在线免费观看| 国产成人精品曰本亚洲79ren| 亚洲第一视频网站| 色偷偷噜噜噜亚洲男人| A片在线免费观看| 午夜电影免费观看| 亚洲精品乱码久久久久久中文字幕| 亚洲白嫩在线观看| 农村寡妇一级毛片免费看视频| 少妇人妻偷人精品免费视频| 免费无码成人AV片在线在线播放| 国产亚洲色婷婷久久99精品91| 亚洲天堂福利视频| 久久国产一片免费观看| 曰曰鲁夜夜免费播放视频| 又粗又大又猛又爽免费视频| 亚洲一区二区在线免费观看| 羞羞视频免费网站入口| 最近免费中文字幕大全免费| 亚洲精品动漫人成3d在线| 亚洲人成777在线播放| 一区二区三区在线观看免费| 久草在视频免费福利| 国产亚洲情侣一区二区无| 久久亚洲国产最新网站| 97人妻精品全国免费视频| 又黄又爽的视频免费看| 亚洲人成人77777在线播放| 99在线视频免费观看| 波多野结衣一区二区免费视频|