最近學習petstore,,真是走了不少彎路,看來什么東西還都是要先了解徹底了再下手比較好,。
開始學習的時候我下載了關(guān)于petstore的一些學習資料,,大部分都是關(guān)于什么設(shè)計模式,實例講解的內(nèi)容,,于是我先學習了我認為里面相關(guān)的技術(shù),,結(jié)果, 當我把代碼導進Myeclipse時,,發(fā)現(xiàn)了很多陌生的東西,,而且貌似是不是我們平時想象的有用戶管理什么的那種B2C模式,還見到了原來根本沒有見過的 faces-config.xml配置文件,。后來發(fā)現(xiàn)原來那些都是早些版本的介紹,,自己下載的是petstore2.0。開始摸不到頭腦了,。因為想到它里 面的數(shù)據(jù)庫什么的環(huán)境可能和自己的不一樣就沒有馬上運行它,,想在自己大體瀏覽一下代碼、更改環(huán)境后再試試,。 代碼掃了一遍,,知道了原來這個東西用的java ee 5.0,框架是JSF,有點像客戶對客戶的那種電子商務(wù),,大概明白了以后我就開始改代碼中關(guān)于環(huán)境,,數(shù)據(jù)庫什么的東西。該改的地方也改了,,結(jié)果不像自己想 的那么簡單,,運行不起來,于是又開始上網(wǎng)詢問自己的種種問題,。 后來,,發(fā)現(xiàn)網(wǎng)上說用的最經(jīng)典的組合是Netbeans+GlassFish。。,。 網(wǎng)上說的經(jīng)典組合我一個都沒有用過,。我之前用的是myeclipse,和NetBeans有點不同,,但是差不多可以接著用,,但是GlassFish就不行了,于是又開始學習這個Glasfish,。 GlassFish的啟動安裝發(fā)現(xiàn)了問題,,結(jié)果我發(fā)現(xiàn)如果我先連著網(wǎng),那么很有可能這個GlassFish就報異常啟動不了,,把網(wǎng)線拔了就好了,,但是我在 啟動以后再聯(lián)網(wǎng)沒有問題。為什么會出現(xiàn)這個問題現(xiàn)在也不是很清楚,,總之,,下次遇到這種情況可以試下拔網(wǎng)線。,。,。呵呵! 接下來就是GlassFish自帶的Derby數(shù)據(jù)庫問題了,。學習以后我試著操作這個derby,,我也遇到了連不上數(shù)據(jù)庫的問題??偨Y(jié)以下: 1,、一定要設(shè)DERBY_HOME這個環(huán)境變量,具體目錄位置是derby數(shù)據(jù)庫的位置,,這樣一來不用每次都進入Derby所在的目錄下了,。 2、對數(shù)據(jù)庫操作之前,,一定別忘了輸入連接數(shù)據(jù)庫的命令,。先進入數(shù)據(jù)庫操作的工具ij下,再數(shù)據(jù)連接數(shù)據(jù)庫的語言:connect 'jdbc:derby:petstore;create=true'; 3,、最后的分號一定不能少,,少了命令不能執(zhí)行。之后所有的SQL命令都不能少了分號(切記),! 4,、更改應(yīng)用中有關(guān)服務(wù)器的部分東西。在下面我會具體寫出,。 費了不少勁,,走了不少彎路怎么也算是把它運行起來了,,努力算是沒有白費,也真是謝謝網(wǎng)絡(luò),,謝謝網(wǎng)上的熱心人,,幫了不少忙啊。 建議大家以后學習這個petstore的時候先上網(wǎng)查找部署petstore的具體事宜,,部署好了再學相關(guān)知識啊,,這樣可能可以少走些彎路。 下面就是部署petstore的具體辦法: 第一步:搭建應(yīng)用環(huán)境 一,、我用的軟件, 1,、MyEclipse_7.0 2、glassfish 2.x(里面自帶了ant工具,,因此沒有特意下) 3、jDK6 二,、安裝glassfish: 在命令行下輸入如下: java -Xmx256m -jar glassfish_name.jar 打開,,Accept后我解壓放在了命令的當前目錄下,我是放在了 D:glassfish 三,、glassfish自帶ant工具,,設(shè)置ant的環(huán)境變量:ANT_HOME :D:\glassfish\lib\ant 在path里面設(shè)置:%ANT_HOME%\bin和%ANT_HOME%\lib 四、進入cmd 界面 D:glassfish>ant -f setup.xml build success 后服務(wù)器就安裝好了 五,、GlassFish自帶derby數(shù)據(jù)庫,。設(shè)置DERBY_HOME = D:\glassfish\javadb MyEclipse和JDK的安裝就不說了,默認情況下MyEclipse和glassfish會“聯(lián)”上如果是用以前已經(jīng)安裝好的軟件,,有可能要自己關(guān)聯(lián)一下,。 第二步:新建工程, 首先將下載到D盤的javapetstore-2.0-ea5-installer.jar解壓: 雙擊即可,滾動條拉到最后,,點擊accept會自行解壓生成javapetstore-2.0-ea5-installer文件 在MyEclipse 中新建一個空web project 工程名任意,,要注意的是: 項目的 src folder 設(shè)為:src\java ; web root folder 設(shè)為:web j2ee specification level 選J2EE5,。0 再點在工程上右擊import從文件系統(tǒng)導入D:javapetstore-2.0-ea5-installer下的所有東西 ,。 為項目導入外部jar文件:D:\javapetstore-2.0-ea5-installer\lib \**.** , 為項目加入 JSF 支持:導入jsf框架,,最好先把 pet項目下: pet/web/WEB-INF/ 下的兩個文件: faces-config.xml 和 sun-web.xml 改個名字備份一下,,當jsf 框架導入以后再還原回來。免得被覆蓋了,。 第三步:修改部份文件,。 1。pet/bp-project/app-server.properties 中有一行: javaee.home=c:/Sun/SDK 改為 javaee.home=D:/glassfish (D:/glassfish服務(wù)器安裝目錄) 2,。pet/bp-project/build.properties 中有兩行: (1)javaee.home=c:/Sun/AppServer 改為 javaee.home=D:/glassfish (2)javaee.server.passwordfile=“{javaee}/samples/....”改為 javaee.server.passwordfile=D:/1.txt 并在D:盤下建一個1.txt 文件 里面的內(nèi)容為一句話: AS_ADMIN_PASSWORD=adminadmin 第四步:發(fā)布 1,、把數(shù)據(jù)庫打開: 它使用的是derby數(shù)據(jù)庫 ,點擊服務(wù)器目錄下 D:\glassfish\javadb\frameworks\NetworkServer\bin\startNetworkServer.bat 點擊它就打開了數(shù)據(jù)庫服務(wù)器。 2,、用myeclipse打開glassfish服務(wù)器 3,、創(chuàng)建數(shù)據(jù)庫: NetBeans中可以直接運行setup.xml腳本生成數(shù)據(jù)庫,我現(xiàn)在只知道怎么用myeclipse運行build.xml這個ant任務(wù),,所以我的setup.xml是在命令下完成的,。 打開命令提示符輸入:ant -f 工程名\setup\setup.xml(就是工程的setup文件夾下的setup.xml直接拖過去就可以了)。build成功后進行下一步,。 4,、發(fā)布 war 文件 在myeclipse中以ant Editor方式打工程下的build.xml 然后運行它的default[default] 任務(wù). (右鍵選擇run as->ant build...<好像是這個>) build success后,在你的workSpace中的工程的dist/下面就應(yīng)該已經(jīng)生成了petstore.war文件,。將它copy到服務(wù)器下: D:\glassfish\domains\domain1\autodeploy\下 5,、訪問頁面: 打開 http://localhost:8080/petstore/ 如果沒有在console中出現(xiàn)多大的問題的話, 應(yīng)該就可以訪問到petstore了,。 (如果出現(xiàn)數(shù)據(jù)庫的問題,,別忘了看一下數(shù)據(jù)庫連接是否已經(jīng)打開。也就是之前說的connect 'jdbc:derby:petstore'這個命令是否執(zhí)行了) |
|