jbuilder 2006 调试Seam的booking例程

最近研究seam 我个人来说对jbuilder很有感情,不喜欢eclipse,也许大家觉得我有点bt,但是我还是很执着。seam的例子很全,大多数是入门的 如booking,我用jbuilder来编译发布booking例子,高手们不必看了,下面谈谈做法:

1.下载 jems-installer-1.2.0.BETA.jar ( http://sourceforge.net/project/showfiles.php?group_id=22866&package_id=193295)

2.在环境变量中设置java_home,ant_home,下载后在dos下运行 java -jar jems-installer-1.2.0.beta.jar,安装jboss服务器,记得要选支持ejb3的喔。

3.下载 jboss-seam-1.0.1.GA.zip (http://prdownloads.sourceforge.net/jboss/jboss-seam-1.0.1.GA.zip?download),解压缩 jboss-seam-1.0.1.GA.zip,里面是完整的seam包 包括例子和类库,咱们的booking例子也在里面。

4.新建一个jbuilder项目,起名mySeam,然后在mySeam项目上按右键选择 new -->directory,输入facelets, 以此类推建立resources,view,src,lib,然后关闭jbuilder.

5.copy 目录 jboss-seam-1.0.1.GA\examples\booking下的所有文件到相应的jbuilder项目文件夹下。

6.拷贝 目录jboss-seam-1.0.1.GA\facelets下的所有jar文件到jbullder项目文件夹下的facelets目录下。

7.拷贝目录jboss-seam-1.0.1.GA\lib下的所有jar包到jbullder项目文件夹下的lib目录下。

8 拷贝文件 jboss-seam-1.0.1.GA\build.properties和build.xml到jbuilder项目文件夹下。因为booking的build.xml已经存在,所以要改个名字如build2.xml.

9.打开jbuilder 项目,此时src,view,resouces,facelets,lib目录下已经有了刚财拷贝的文件。

10。在myseam项目上按右键,选择add files,引入已有的build.xml,build2.xml,build.properties.和jboss-seam.jar(位于 jboss-seam-1.0.1.GA目录下)
打开build.xml 修改最后一句 为《import file="build2.xml"/》。

11.在jbuilder菜单上选择tools--->configure-->libraries,新建mylib类库,导入jboss-seam-1.0.1.GA\lib和jboss-seam-1.0.1.GA\facelets下的所有类。
在mySeam项目上按右键,选propertities, 在path里面把mylib导入。

12.在mySeam项目中点中build.xml 按右键选择属性,选择ant标签,删除掉properties框里的jbuilder自带的make工具,添加 ($JDKPath)($Env:)Seam on JBoss Booking Example,如果你愿意输出日志 可以在use log file里设定。在最低部的always run ant when building project上打钩 这样当你rebuild的时候就会自动的ant了。

此时在myseam项目上右键点击rebuild就可以发布了,或者选择build.xml 右键选择debug也可以。

好了 设置就是这样。如果你一切顺利的话 可以看到http://localhost:8080/seam-booking/。
如果有问题 发我得邮箱 qiandong2001@hotmail.com,我的Q_Q:35197712 祝大家学习愉快。


// 在此输入java代码

非常不错,支持,这样方式对于其他Eclipse工程也适用。对习惯JBuilder的使用者是一个有用的参考资料 

补充以下:
把数据库移到sqlsever,只需更改booking-ds.xml
<datasources>
<local-tx-datasource>
<jndi-name>mySeam</jndi-name>
<connection-url>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test;SelectMethod=Cursor</connection-url>
<driver-class>com.microsoft.jdbc.sqlserver.SQLServerDriver</driver-class>
<user-name>sa</user-name>
<password>sa</password>
</local-tx-datasource>
</datasources>

再修改jboss-beans.xml
<bean name="bookingDatasourceBootstrap" class="org.jboss.resource.adapter.jdbc.local.LocalTxDataSource">
<property name="driverClass">com.microsoft.jdbc.sqlserver.SQLServerDriver</property>
<property name="connectionURL">jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test;SelectMethod=Cursor</property>
<property name="userName">sa</property>
<property name="jndiName">java:/mySeam</property>
<property name="minSize">0</property>
<property name="maxSize">10</property>
<property name="blockingTimeout">1000</property>
<property name="idleTimeout">100000</property>
<property name="transactionManager"><inject bean="TransactionManager"/></property>
<property name="cachedConnectionManager"><inject bean="CachedConnectionManager"/></property>
<property name="initialContextProperties"><inject bean="InitialContextProperties"/></property>
</bean>
注意sqlserver对user这样的关键字作表名会有问题,最好把它改成users
ejb3采用标注的方法设置stateful stateless entitybean, 默认情况下表对应类名,如果表名是users 而类名是user 需要使用@Table(name="users")



补充以下:
把数据库移到sqlsever,只需更改booking-ds.xml
<datasources>
<local-tx-datasource>
<jndi-name>mySeam</jndi-name>
<connection-url>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test;SelectMethod=Cursor</connection-url>
<driver-class>com.microsoft.jdbc.sqlserver.SQLServerDriver</driver-class>
<user-name>sa</user-name>
<password>sa</password>
</local-tx-datasource>
</datasources>

再修改jboss-beans.xml
<bean name=
"bookingDatasourceBootstrap" class="org.jboss.resource.adapter.jdbc.local.LocalTxDataSource">
<property name=
"driverClass">com.microsoft.jdbc.sqlserver.SQLServerDriver</property>
<property name=
"connectionURL">jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test;SelectMethod=Cursor</property>
<property name=
"userName">sa</property>
<property name=
"jndiName">java:/mySeam</property>
<property name=
"minSize">0</property>
<property name=
"maxSize">10</property>
<property name=
"blockingTimeout">1000</property>
<property name=
"idleTimeout">100000</property>
<property name=
"transactionManager"><inject bean="TransactionManager"/></property>
<property name=
"cachedConnectionManager"><inject bean="CachedConnectionManager"/></property>
<property name=
"initialContextProperties"><inject bean="InitialContextProperties"/></property>
</bean>
注意sqlserver对user这样的关键字作表名会有问题,最好把它改成users
ejb3采用标注的方法设置stateful stateless entitybean, 默认情况下表对应类名,如果表名是users 而类名是user 需要使用@Table(name=
"users")

seam,还是不错的,正好闲着学习中!比较完整,又有JBOSS维护!
楼主有中文的资料不!

jboss的论坛东东很多 目前好像还没有什么人写这方面的书

seam迟早一天会大行其道 希望道友们多多演练