最近学习petstore,真是走了不少弯路,看来什么东西还都是要先了解彻底了再下手比较好。
开始学习的时候我下载了关于petstore的一些学习资料,大部分都是关于什么设计模式,实例讲解的内容,于是我先学习了我认为里面相关的技术,结果, 当我把代码导进Myeclipse时,发现了很多陌生的东西,而且貌似是不是我们平时想象的有用户管理什么的那种B2C模式,还见到了原来根本没有见过的 faces-config.xml配置文件。后来发现原来那些都是早些版本的介绍,自己下载的是petstore2.0。开始摸不到头脑了。因为想到它里 面的数据库什么的环境可能和自己的不一样就没有马上运行它,想在自己大体浏览一下代码、更改环境后再试试。 代码扫了一遍,知道了原来这个东西用的java ee 5.0,框架是JSF,有点像客户对客户的那种电子商务,大概明白了以后我就开始改代码中关于环境,数据库什么的东西。该改的地方也改了,结果不像自己想 的那么简单,运行不起来,于是又开始上网询问自己的种种问题。 后来,发现网上说用的最经典的组合是Netbeans+GlassFish。。。 网上说的经典组合我一个都没有用过。我之前用的是myeclipse,和NetBeans有点不同,但是差不多可以接着用,但是GlassFish就不行了,于是又开始学习这个Glasfish。 GlassFish的启动安装发现了问题,结果我发现如果我先连着网,那么很有可能这个GlassFish就报异常启动不了,把网线拔了就好了,但是我在 启动以后再联网没有问题。为什么会出现这个问题现在也不是很清楚,总之,下次遇到这种情况可以试下拔网线。。。呵呵! 接下来就是GlassFish自带的Derby数据库问题了。学习以后我试着操作这个derby,我也遇到了连不上数据库的问题。总结以下: 1、一定要设DERBY_HOME这个环境变量,具体目录位置是derby数据库的位置,这样一来不用每次都进入Derby所在的目录下了。 2、对数据库操作之前,一定别忘了输入连接数据库的命令。先进入数据库操作的工具ij下,再数据连接数据库的语言:connect 'jdbc:derby:petstore;create=true'; 3、最后的分号一定不能少,少了命令不能执行。之后所有的SQL命令都不能少了分号(切记)! 4、更改应用中有关服务器的部分东西。在下面我会具体写出。 费了不少劲,走了不少弯路怎么也算是把它运行起来了,努力算是没有白费,也真是谢谢网络,谢谢网上的热心人,帮了不少忙啊。 建议大家以后学习这个petstore的时候先上网查找部署petstore的具体事宜,部署好了再学相关知识啊,这样可能可以少走些弯路。 下面就是部署petstore的具体办法: 第一步:搭建应用环境 一、我用的软件, 1、MyEclipse_7.0 2、glassfish 2.x(里面自带了ant工具,因此没有特意下) 3、jDK6 二、安装glassfish: 在命令行下输入如下: java -Xmx256m -jar glassfish_name.jar 打开,Accept后我解压放在了命令的当前目录下,我是放在了 D:glassfish 三、glassfish自带ant工具,设置ant的环境变量:ANT_HOME :D:\glassfish\lib\ant 在path里面设置:%ANT_HOME%\bin和%ANT_HOME%\lib 四、进入cmd 界面 D:glassfish>ant -f setup.xml build success 后服务器就安装好了 五、GlassFish自带derby数据库。设置DERBY_HOME = D:\glassfish\javadb MyEclipse和JDK的安装就不说了,默认情况下MyEclipse和glassfish会“联”上如果是用以前已经安装好的软件,有可能要自己关联一下。 第二步:新建工程, 首先将下载到D盘的javapetstore-2.0-ea5-installer.jar解压: 双击即可,滚动条拉到最后,点击accept会自行解压生成javapetstore-2.0-ea5-installer文件 在MyEclipse 中新建一个空web project 工程名任意,要注意的是: 项目的 src folder 设为:src\java ; web root folder 设为:web j2ee specification level 选J2EE5。0 再点在工程上右击import从文件系统导入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服务器安装目录) 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 文件 里面的内容为一句话: AS_ADMIN_PASSWORD=adminadmin 第四步:发布 1、把数据库打开: 它使用的是derby数据库 ,点击服务器目录下 D:\glassfish\javadb\frameworks\NetworkServer\bin\startNetworkServer.bat 点击它就打开了数据库服务器。 2、用myeclipse打开glassfish服务器 3、创建数据库: NetBeans中可以直接运行setup.xml脚本生成数据库,我现在只知道怎么用myeclipse运行build.xml这个ant任务,所以我的setup.xml是在命令下完成的。 打开命令提示符输入:ant -f 工程名\setup\setup.xml(就是工程的setup文件夹下的setup.xml直接拖过去就可以了)。build成功后进行下一步。 4、发布 war 文件 在myeclipse中以ant Editor方式打工程下的build.xml 然后运行它的default[default] 任务. (右键选择run as->ant build...<好像是这个>) build success后,在你的workSpace中的工程的dist/下面就应该已经生成了petstore.war文件。将它copy到服务器下: D:\glassfish\domains\domain1\autodeploy\下 5、访问页面: 打开 http://localhost:8080/petstore/ 如果没有在console中出现多大的问题的话, 应该就可以访问到petstore了。 (如果出现数据库的问题,别忘了看一下数据库连接是否已经打开。也就是之前说的connect 'jdbc:derby:petstore'这个命令是否执行了) |
|