`
alienj
  • 浏览: 82271 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

第3章 开始Seam,,使用 JBoss Tools

阅读更多

第3章      开始Seam,,使用 JBoss Tools

 

JBoss Tools是一个Eclipse插件集。JBoss Tools以向导方式创建Seam一个项目,为facelets Java 代码提供统一的EL内容助手,一个图形化的jPDL编辑器,一个图形化的Seam配置文件编辑器,在Eclipse中支持Seam集成测试,等等。

 

简言之,如果你是Eclipse用户,那么你会想要JBoss Tools!

 

JBoss Tools,与seam-genJBoss AS,配合最好,你的应用程序如果运行在其它服务器上,可能存在一些问题。有关很多变化的那些描述在后面的参考手册中。

 

3.1. 开始之前

 

在开始之前,确信你已正确地安装了JDK 5, JBoss AS 4.2, Eclipse 3.3, JBoss Tools插件(至少有Seam工具, 可视页面编辑器, jBPM 工具 JBoss AS 工具)以及TestNG插件。

 

TODO——升级站点有详细的说明。

 

[*

JBoss Seam 开发环境IDE配置:

Eclipse 3.4+ jboss as 5.0.0.CR2 Release Candidate+JBossTools3.0+ testng-eclipse-5.8.0.1

 

1、  Eclipse IDE for Java EE Developers (163 MB)

Eclipse 3.4下载地址:http://www.eclipse.org/downloads/

2、  JBossTools-200810070143-nightly-ALL-win32.zip

JBossTools3.0下载地址:http://download.jboss.org/jbosstools/builds/nightly/200810070143-nightly/index.html

3、  testng-eclipse-5.8.0.1.zip

testng-eclipse-5.8.0.1下载地址: http://testng.org/doc/download.html

有关testng插件的使用请参考:http://testng.org/doc/documentation-main.html

 

解压安装Eclipse 3.4,将JBossTools3.0testng-eclipse-5.8.0解压,并将其插件目录pluginsfeatures下的内容拷入Eclipse 3.4对应目录下。

 

安装新插件后,启动Eclipse,在Eclipse 3.4目录下最好运行一次Eclipse –clean命令。

 

配置原有Jboss as 4.2.3all)服务器:

New Server->Jboss,a division of Red Hat ->Jboss as 4.2

 

Seam项目:

File->new ->other->Seam-> Seam Web Project

 

成功!

 

但是,启动Jboss as 4.2.3all,开始部署正常,但以后不知什么原因,部署总是报“Exception sending context initialized event to listener instance of class org.jboss.seam.servlet.SeamListener

,有人说是安装目录名有空格造成的。将空格取消,问题仍然。

 

然而,用seam-gen产生的项目,导入到eclipse中,可以使用,但报jstl.jar包有错,可能是下载的seam2.1的这个文件有错,找一个jstl.jar导入库中,一切正常!

 

4 不用Jboss as 4.2.3all),改用jboss-5.0.0.CR2-jdk6.zipjboss as 5.0.0.CR2 Release Candidate)版

下载地址:http://www.jboss.org/jbossas/downloads/

重配服务器,如下所示,一切正常!

 

*]

 

3.2. 设立一个新的Seam项目

启动Eclipse,选Seam透视图。

File -> New -> Seam Web Project

jboss seam reference 2.1(第3章) - *工* - 要有光,于是就有了光

首先,为你的项目输入一个名字。对这个教程,我们使用了helloworld

 

现在,我们需要告诉JBoss Tools相关的JBoss AS。有两个处理阶段,首先我们需要定义一个运行时间,确信你选了JBoss AS 4.2

jboss seam reference 2.1(第3章) - *工* - 要有光,于是就有了光

 

输入运行时间名字,并在你的硬盘上定位它:

 

jboss seam reference 2.1(第3章) - *工* - 要有光,于是就有了光

 

下一步,我们需要定义一个JBoss Tools能部署项目的服务器。再次确定选了JBoss AS 4.2,也正确地定义了运行时间:

 

jboss seam reference 2.1(第3章) - *工* - 要有光,于是就有了光

 

在下一屏幕给出了服务器名,并点击Finish完成:

jboss seam reference 2.1(第3章) - *工* - 要有光,于是就有了光

 

确定你刚刚创建的运行时间和服务器被选取,选取Dynamic Web Project动态网页项目Seam 2.0(技术预演)并点Next下一步:

jboss seam reference 2.1(第3章) - *工* - 要有光,于是就有了光

 

下面第3屏幕,允许你将来自定义你的新项目,但是对我们而,缺省更好。所以只需点击

Next。直到最后屏幕。

 

在这里的第一步是告诉JBoss Tools有关你想使用的Seam下载版。增加一个新的Seam 运行时间——确定给了它名字,并选取了2.0版:

jboss seam reference 2.1(第3章) - *工* - 要有光,于是就有了光

 
你需要做的最重要的选择是在你的项目是EAR部署还是WAR部署之间做一个选择。EAR项目支持EJB 3.0 ,并要求Java EE 5WAR项目不支持EJB 3.0,便可以被部署到一个J2EE

环境。一个WAR包简单容懂。如果你安装了一个迅速的EJB3应用服务器,如JBoss,选择ear。否则,选择WAR。我们假设你为后面的教程已经选择了一个EAR部署,然而,对一个WAR部署你能正确地跟随同样的步骤。

 

下一步,选取你的数据类型。我们假设你已安装了MySQL,用了一个存在的数据库。你需要告诉JBoss Tools有关你的数据库,选取MySQL作为数据库,并创建一个新的连接profile文件。选取Generic JDBC Connection普通JDBC连接(eclipse 3.4选取MySQL连接):

jboss seam reference 2.1(第3章) - *工* - 要有光,于是就有了光

 

给它一名字:

jboss seam reference 2.1(第3章) - *工* - 要有光,于是就有了光

 

JBoss Tools没有带任何数据库驱动程序,所以你需要告诉JBoss Tools MySQL JDBC驱动程序在那儿。告诉它有关驱动程序点.... Locate MySQL 5,并点Add...

jboss seam reference 2.1(第3章) - *工* - 要有光,于是就有了光

 

选取MySQL JDBC Driver模版:

jboss seam reference 2.1(第3章) - *工* - 要有光,于是就有了光

通过选Edit Jar/Zip查找到你计算机上的MySQL JDBC Driverjar包:

[移去默认,Add增加也行]

jboss seam reference 2.1(第3章) - *工* - 要有光,于是就有了光

 

写入数据库连接使用的用户名和密码,如果正确,点Ok

最后,选取新建的驱动程序:

jboss seam reference 2.1(第3章) - *工* - 要有光,于是就有了光

 

如果你使用了一个存在的数据模型,确信你告诉了JBoss Tools数据表已经存在数据库中。

 

输入连接使用的用户名和密码,用Test连接按钮测试的连接,如果它成功,点Finish完成:

 

最后,查看你产生的bean的包名,如果如果成功,点Finish完成。

jboss seam reference 2.1(第3章) - *工* - 要有光,于是就有了光

 

JBoss支持先进的WARs EARs热布置。不幸地,导致JVM程序缺陷,重复一个EAR布置——在布置期间,那是普通的——最后引起JVM内存溢出。为这个原因,在开发期间,我们推荐运行JBoss在一个有一个巨大的内存的永久保存区域的JVM上。如果你从JBoss IDE运行JBoss,你能在服务器启动配置中配置这个,在"VM arguments"下。我们建议下面的值:

 

-Xms512m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512

 

如果你没有这么多的内存可用,下面是我们推荐的最小配置:

 

-Xms256m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=256

 

如果你从命令行运行JBoss,你能在bin/run.conf文件中配置JVM选项。

 

 

定们到JBoss Server 视图中的服务器,右击服务器,并选取 Edit Launch Configuration(编辑启动配置):

jboss seam reference 2.1(第3章) - *工* - 要有光,于是就有了光

 

然后,改变VM参数:

jboss seam reference 2.1(第3章) - *工* - 要有光,于是就有了光

如果现在你不想麻烦这些事,你不必管——当你第一次遇到OutOfMemoryException,稍后再恢复它。

启动JBoss,并部署项目,右击刚你创建的服务器,点Start(或调试,启动in debug mode:

 jboss seam reference 2.1(第3章) - *工* - 要有光,于是就有了光

不要恐惧产生在项目中的XML配置文本。它们是最标准的Java EE东西,以前你需要建立这些东西,然后不会再看它们,在所有Seam项目之间,它们90%是相同的。

 

3.3. 创建一个新的动作Creating a new action

 

如果你习惯于传统的动作类型网页框架,你可能会惊讶在JAVA中用无状态动作方法创建一个简单网页。

首先,选择 New -> Seam Action

jboss seam reference 2.1(第3章) - *工* - 要有光,于是就有了光

现在,输入Seam组件名字。JBoss Tools智能给其它字段选取缺省值:

jboss seam reference 2.1(第3章) - *工* - 要有光,于是就有了光

最后,击Finish完成。

 

现在,到http://localhost:8080/helloworld/ping.seam。并点击按钮。查看项目src目录,你能看见在这个动作后的代码。设置一个断点在ping()方法,并再点击按钮。

 

最后,打开helloworld-test项目,定位PingTest类,右击它,并选Run As -> TestNG Test

jboss seam reference 2.1(第3章) - *工* - 要有光,于是就有了光jboss seam reference 2.1(第3章) - *工* - 要有光,于是就有了光

3.4.创建一个表单

jboss seam reference 2.1(第3章) - *工* - 要有光,于是就有了光

现在,输入Seam组件名字。JBoss Tools智能给其它字段选取缺省值:

jboss seam reference 2.1(第3章) - *工* - 要有光,于是就有了光

http://localhost:8080/helloworld/hello.seam。然后看一下产生的代码。运行测试。试着增加一些新字段到表单和Seam组件(注意,每次你改变了src/action目录里的代码,你不必重启应用程序服务器,因为Seam为你热加载了组件。章节 3.6,Seam和改进的热部署”)

 

3.5. 从一个存在的数据库产生一个应用程序

在你的数据库中手动创建一些表。(如果你需要切换到一个不同数据库,创建一个新的项目,并选取正确数据库)。然后,选择New -> Seam Generate Entities

jboss seam reference 2.1(第3章) - *工* - 要有光,于是就有了光

JBoss Tools给你一个“倒置”实体选项,来自一个数据库表的组件和视图,或者来自存在的JPA实体的组件和视图。我们打算从数据库“倒置”。

 
重启部署:

jboss seam reference 2.1(第3章) - *工* - 要有光,于是就有了光

然后到http://localhost:8080/helloworld。你能浏览数据库,编辑存在的对象,创建新的对象。如果你查看产生的代码,你可能会吃惊它是多么简单!Seam被设计便于数据访问代码是容易手工书写,甚至对不想用“倒置”的人们。

 

[*出错

Could not instantiate Seam component:

Caused by: java.lang.IllegalArgumentException: EntityManagerFactory not found in JNDI : java:/helloworldEntityManagerFactory

 

*]

 

3.6. Seam和改进的热部署

JBoss Tools 支持改进的热部署:

 

* 所有 facelets页面

* 所有 pages.xml 文件

 

超出范围。

But if we want to change any Java code, we still need to do a full restart of the application by

doing a Full Publish.

但是,如果我们想改变任何JAVA代码,我们仍然需要做一个应用程序全重启,通过执行Full Publish

 

然而,如果你真想一个快速的编辑/编译/测试周期,Seam支持改进的JavaBean组件重部署。为使用这个功能,你必须部署JavaBean组件到WEB-INF/dev目录,以便通过一个特殊的Seam类加载器代替WAR EAR类加载器加载它们。

 

你需要注意下的限制:

* 组件必须是JavaBean组件, 它们不能是EJB3 beans (我们正在努力修补这个限制)

* 实体绝不能被热部署

* 通过 components.xml来实现组件部署可以不是热部署

* the hot-deployable components will not be visible to any classes deployed outside of 对在WEB-INF/dev外面的任何类部署,热部署组件是不会可见的。

* Seam 调试模式可以使用, jboss-seam-debug.jar必须在WEB-INF/lib

* 你必然安装Seam 过滤器在web.xml

* 如果系统被放在任何加载和任何调试之下,你可以看见错误。

 

如果你使用JBoss Tools创建了一个WAR项目,改进的热部署可用范围是超出了在src/action资源目录的类的区域。然而,对EAR项目,JBoss Tools不支持改进的热部署。

分享到:
评论
1 楼 nbsven 2009-06-25  
今年新发布的web server软件UFO能彻底解决内存溢出问题。

相关推荐

    Jboss seam3 实战

    标题中的“Jboss seam3 实战”表明,本文将重点介绍JBoss Seam框架的第三个版本的实际应用。JBoss Seam是一个开源的Java EE框架,它通过依赖注入和会话模型,简化了基于Java EE的企业级应用开发。Seam框架为开发者...

    Getting_Started_with_JBDS.pdf

    编写第一个 Seam Web 应用 本章节将引导你创建一个简单的基于 Seam 框架的 Web 应用。 1. **创建一个 Seam 项目**: - 使用 New -> Other -> Seam -> Seam Project 创建一个新项目。 - 配置项目名称和其他设置...

    Open Eye - Business Process Management-开源

    3. **易用的界面**:得益于 Seam 的支持,Open Eye 拥有直观的用户界面,使业务用户能够轻松上手并进行流程操作。 4. **流程监控与分析**:集成 Birt 报表工具,Open Eye 能够生成实时的流程执行报告,帮助管理层...

    支持pyramid2.x的kotti web代码

    Kotti 是一个基于 Pyramid 框架的 Python 内容管理系统(CMS),适合用来搭建中小型网站、文档库、企业展示平台、知识库等需要灵活内容结构和权限模型的项目。它本身更像一个可以二次开发的 CMS 框架,比 WordPress、Drupal 这类“一装就用”的系统更倾向于开发者定制和扩展。 这是支持pyramid2.x版本的kotti! tar -xzvf kotti1.0.tar.gz 解压缩 进入目录执行 pip install -e . 来安装, 然后执行pserve app.ini 启动。 用浏览器浏览127.0.0.1:5000 即可浏览。 用户名admin ,口令qwerty

    cmd-bat-批处理-脚本-hello world.zip

    cmd-bat-批处理-脚本-hello world.zip

    知识付费系统自动采集V3.0 跳转不卡顿+搭建教程

    知识付费系统自动采集V3.0 跳转不卡顿+搭建教程,不和外面的一样跳转卡顿,这个跳转不卡顿,支持三级分销。

    基于Matlab实现图像形状纹理颜色特征提取

    在Matlab环境下,对图像进行特征提取时,主要涵盖形状、纹理以及颜色这三大关键特征。其中,对于纹理特征的提取,采用灰度梯度共生矩阵这一方法来实现。通过灰度梯度共生矩阵,可以有效地捕捉图像中像素灰度值之间在不同方向和距离上的相互关系,进而量化地反映出图像的纹理特性,为后续的图像分析、分类等任务提供重要的纹理信息依据。

    实证数据-2010-2023年上市公司-管理层情感语调数据-社科经管.rar

    该数据集为2010-2023年中国A股上市公司管理层情感语调的年度面板数据,覆盖45,320条样本,数据源自年报及半年报的"管理层讨论与分析"部分。通过构建中文金融情感词典(融合《知网情感分析用词典》与L&M金融词汇表),采用文本分析方法计算情感语调指标,包括:正面/负面词汇数量、文本相似度、情感语调1((积极词-消极词)/总词数)和情感语调2((积极词-消极词)/(积极词+消极词))。同时包含盈利预测偏差、审计意见类型等衍生指标,可用于研究信息披露质量、市场反应及代理问题。该数据复刻了《管理世界》《财经研究》等期刊的变量构建方法,被应用于分析语调操纵对债券市场的影响,学术常用度与稀缺度较高。

    cmd-bat-批处理-脚本-FTIME.zip

    cmd-bat-批处理-脚本-FTIME.zip

    1747829038637.png

    1747829038637.png

    2025年自动化X光检查机项目大数据研究报告.docx

    2025年自动化X光检查机项目大数据研究报告.docx

    基于Logisim的原码与补码一位乘法器设计

    在计算机组成原理课程设计中,我全程跟随老师的指导,独立完成了以下两项任务:一是利用Logisim软件进行原码一位乘法器的仿真设计,通过逐步搭建电路、配置逻辑单元,实现了原码乘法运算的完整流程,深入理解了原码乘法的原理和实现机制;二是完成了补码一位乘法器的Logisim仿真,同样按照老师讲解的步骤,精心设计电路,确保补码乘法运算的正确性,进一步掌握了补码乘法的运算规则和电路实现方法。通过这两个项目,我不仅巩固了理论知识,还提升了动手实践能力和逻辑思维能力。

    cmd-bat-批处理-脚本-msvc2017.zip

    cmd-bat-批处理-脚本-msvc2017.zip

    cmd-bat-批处理-脚本-virtualcam-install.zip

    cmd-bat-批处理-脚本-virtualcam-install.zip

    二十四节气之立秋介绍.pptx

    二十四节气之立秋介绍.pptx

    cmd-bat-批处理-脚本-shift.zip

    cmd-bat-批处理-脚本-shift.zip

    二十四节气之小雪介绍.pptx

    二十四节气之小雪介绍.pptx

    java、SpringBoot面试专题,6页面试题

    java、SpringBoot面试专题,6页面试题

    cmd-bat-批处理-脚本-GenerateUnionWinMD.zip

    cmd-bat-批处理-脚本-GenerateUnionWinMD.zip

    二十四节气之大暑节气.pptx

    二十四节气之大暑节气.pptx

Global site tag (gtag.js) - Google Analytics