最近學習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 ee5.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í)行了)
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點擊舉報。