为项目开发做嫁衣——Seam项目开发环境的搭建

来源:互联网 发布:word怎么打矩阵 编辑:程序博客网 时间:2024/05/29 02:28

正如SSH架构是J2EE的一个轻量级开发框架一样,Seam可以看作是为Java EE量身定制的轻量级框架,它为企业级Web应用中的组件提供一个一致的、易于理解发,提高开发效率和应用扩展的编程模型,它提供一个同一标准的组件模型,能够完美集成JSF/EJB3JPA Seam的目标是为了解决JSFEJB3中的一些设计缺陷。Seam的许多核心特性被采纳为Java EE标准,例如JSF 2.0WebBeansJSF 2.0SeamA4J等框架引入到规范。SeamSpring框架的开发理念不同,Seam为被它集成的所有框架提供了一个统一的组件模型,开发人员可以使用统一的Seam组件,而不需要学习每个独立框架的组件管理APIs。本书将通过一个项目案例详细介绍如何应用Seam框架以及JSF2Richfaces4和其他框架来构建Web应用程序。

如果应用程序使用EJB3,我们需要使用一个框架,使JSF2页面与EJB3的工作更加容易,这个框架就是SeamSeam允许在程序中通过注解和EL表达式来访问EJB3。此外,Seam也提供了一些其他实用的功能,以加快您的JSF开发,例如,它可以生成的页面中执行CRUD(创建,检索,更新,和删除)操作而不需要我们编写这些业务对象代码。

 要学习Seam开发,必须先搭建一个符合以Seam作为开源中间件规范的Java EE开发环境。本章以实用为原则,介绍以JBoss为服务器为配置Java EE运行环境的方法及常用集成开发环境的介绍。

Java EE应用以其稳定的性能、良好的开放性及严格的安全性,深受企业应用开发者的青睐。实际上,对于信息化要求较高的行业,如银行、电信、证券及电子商务等行业,都会选择使用Java EE作为企业的信息平台。对于一个企业而言,选择Java EE构建信息化平台,更体现了一种长远的规划,企业的信息化是不断整合的过程,Java EE应用提供的跨平台性、开放性及各种远程访问的技术,为异构系统的良好整合提供了保证。

1.2.2  JBoss的下载与安装

JBoss的下载地址为http://www.jboss.org/jbossas/downloads,最新版本为6.0JBOSS最新版本支持JSF 2以及为所有的层提供模型对象的集成验证的Bean validation,并且支持Servlet 3.0 JPA 2.0。笔者下载的是jboss-6.0.0.M2.zip安装包。直接解压缩jboss-6.0.0.M2.zip安装包即可完成安装,为了避免日后产生莫名的错误,解压缩的路径不要带有空格,如Program Files

设置完环境变量后。双击[jboss 安装目录]/bin/run.bat启动JBoss,查看控制台有没有Java 的例外抛出。如果没有例外并看到图1-1,表示安装JBoss成功。

1-1  JBoss控制台

启动JBoss后,在浏览器地址栏中输入http://localhost:8080,弹出如图1-4所示的JBoss 的欢迎主页。

1-2  JBoss的欢迎主页

如果在启动JBoss 出现错误,先检查安装文件下载是否完整,JBoss所用端口有没有被占用,如10991098 8080 8081等端口。如果要更改Jboss端口,则可找到[jboss 安装目录]/server/default/deploy/jbossweb.sar目录中的server.xml文件,找到该文件如下内容并修改其中的port的属性值:

<Connector protocol="HTTP/1.1" port="8081" address="${jboss.bind.address}"

               connectionTimeout="20000" redirectPort="8443" />

提示: 如果下载的是JBoss 5版本,安装的是JDK1.6的话,启动JBoss时会出现错误,这是由于JDK 5JDK 6中,加入了一个“sun.lang.ClassLoader.allowArraySyntax”选项值,这个值默认的是true,但在JDK 6中改成了false,所以JBoss 5使用JDK 6启动会出现错误。 如果安装平台是Windows,打开run.bat文件,找到set JAVA_OPTS=%JAVA_OPTS% -Dprogram.name=%PROGNAME% 这一行,将这一行改为

set JAVA_OPTS=%JAVA_OPTS% -Dprogram.name=%PROGNAME%

 -Dsun.lang.ClassLoader.allowArraySyntax=true,  JBoss 5就可以正常运行了。

1.2.3  JBoss的目录结构

安装完JBoss后,会创建如表1-1所示的目录结构。

1-1  JBoss目录结构

目录

描述

bin

存放启动和关闭JBoss 的脚本。

client

存放客户端与JBoss 通信所需的Java 库(JARs)。

docs/dtd

存放在JBoss 中使用的各种XML 文件的DTD

server

存放各种JBoss 配置。每个配置必须放在不同的子目录。子目录的名字表示配置的名字。JBoss 包含3 个默认的配置:minimialdefault all,在你安装时可以进行选择。

docs

存放配置的样本文件(数据库配置等)。

lib

存放一些JARJBoss 启动时加载,且被所有JBoss 配置共享。

server/all

JBoss 的完全配置,启动所有服务,包括集群和IIOP

server/default

JBoss 的默认配置。在没有在JBoss 命令航中指定配置名称时使用。

server/default/conf

存放JBoss 的配置文件。

server/default /data

存放JBoss 的数据库文件。比如,嵌入的数据库,或者JBossMQ

server/default /deploy

JBoss 的热部署目录。放到这里的任何文件或目录会被JBoss 自动部署。EJBWAREAR,甚至服务。

server/default/lib

存放一些JARJBoss 在启动特定配置时加载他们。

server/default/log

存放JBoss 的日志文件

server/default/tmp

存放JBoss 的临时文件。

1.2.4  JBoss中部署应用包

JBoss中部署应用包的过程比较简单。在每一个配置中,JBoss 不断的扫描一个特殊目录的变化,例如[jboss 安装目录]/server/config-name/deploy,此目录一般被称为“部署目录”其中config-name一般用default

可以把下列文件复制到此目录下:

1  任何jar 库(其中的类将被自动添加到JBoss classpath 中)。

2  EJB JAR

3  WAR Web Appliction aRrchive)。

4  EAR Enterprise Application aRchive)。

5  包含JBoss MBean 定义的XML 文件。

6  一个包含EJB JARWAR 或者EAR 的解压缩内容,并以.jar.war 或者.ear 结尾的目录。

如果要重新部署任何上述文件,用新版本的文件覆盖以前即可。JBoss 会根据比较文件的时间发现改变,然后部署新的文件。要重新部署一个目录,更新它的修改时间即可。

1.2.5  JBoss中发布WEB应用组件EJB

JBoss很好地支持WAREAR的热重部署,有些调用EJB Web 应用是直接发布在JBoss 集成环境下,在JBoss下发布Web 应用,需要把Web 应用打包成WAREAR 文件。最重要的是要对EAR部署还是WAR部署进行选择。EAR项目支持EJB 3并需要Java EE 5。而WAR包不支持EJB 3,但可在J2EE环境中部署。 另外WAR也更较简单,便于理解。假若你已安装了EJB 3 profile,那就需要用EAR,否则,就只好用WAR

1.3  Seam开发环境的配置

1.3.1  Mysql数据的安装

本书涉及到的所有数据库操作的应用都以MySql数据库为基础,可以从http://dev.mysql.com/downloads/下载MySQL服务器安装软件包。如果下载的安装软件包在Zip文件中,需要先提取文件。笔者下载的安装包为mysql-5.0.18-win32.zip,安装前必须保证服务器中没有任何版本的mysqlmysql目录,双击下载的mysql 5.0.18 for windows的执行文件开始mysql5.0.18的安装。

1.3.2  Eclipse的下载和安装

Eclipse的下载地址为http://www.eclipse.org/downloads/Eclipse官方为了方便开发者,在一个稳定的Eclipse SDK上预先打包各种插件,形成一个完整的开发包,这样就避免了每个开发者都需要下载各种各样的插件,免去不了麻烦。最新的Eclipse SDK 3.5.2,在此基础上,Eclipse发行了一些适合于不同开发者的开发包,这些包都叫做Galileo,在本书的项目中,应用Eclipse IDE for Java EE Developers这个开发工具来开发应用程序,该开发工具构建在Eclipse SDK 3.5之上,主要用于开发Java EE Web应用,具体包括一个Java IDEJava EE工具,JPA,JSPJSFMylyn和其他开发包。双击下载的安装文件eclipse-jee-galileo-SR2-win32.zip文件,直接解压缩eclipse-jee-galileo-SR2-win32.zip安装包即可完成安装,为了避免日后产生莫名的错误,解压缩的路径不要带有空格,如Program Files

提示:如果在启动Eclipse时出现Could not reserve enough space for object heap和如图1.3所示的界面时,需要调整Eclipse的配置文件eclipse.ini中的参数值,在该文件中找到如下内容:

--launcher.XXMaxPermSize 256m

-vmargs

-Dosgi.requiredJavaVersion=1.5

-Xms40m

-Xmx512m

由于JVM初始分配的内存由-Xms参数来指定,它的默认是物理内存的1/64JVM最大分配的内存由参数-Xmx指定,它的默认是物理内存的1/4。默认空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制;空余堆内存大于70%时,JVM会减少堆直到-Xms的最小限制。因此服务器一般设置-Xms-Xmx相等以避免在每次GC 后调整堆的大小。JVM使用-XX:PermSize设置非堆内存初始值,默认是物理内存的1/64;由XX:MaxPermSize设置最大非堆内存的大小,默认是物理内存的1/4。另外JVM最大内存首先取决于实际的物理内存和操作系统,-Xmx的值和-XX:MaxPermSize的总和超过了JVM内存的最大限制,比如当前操作系统最大内存限制,或者实际的物理内存等等。在实应用中,如果你的内存是1024MB,但实际系统中用到的并不可能是1024MB,因为有一部分被硬件和其他应用软件占用了。

所以,如果出现内容不够的情况就需要将内存的设置信息更改为内容够用的值,例如可以把eclipse.ini中的参数值修改为如下内容:

-launcher.XXMaxPermSize 256m

-vmargs

-Dosgi.requiredJavaVersion=1.5

-Xms40m

-Xmx400m

这样,eclipse正常启动了。如果还不能启动,可以继续减少-Xmx的值或XXMaxPermSize的值,因为二者的总和不能当前系统可用的物理内存容量大小。

1-3  启动Eclipse时出现的错误页面

1.3.3  下载并安装JBoss Tools插件

JBossTools包含了JSFHibernateSeamjBPM等一系列的开发工具。JBossTools 最新版本是3.1,为了与Eclipse IDE for Java EE Developers集成,笔者下载的是3.1版本,3.1包含了JBossAS Server Adapter, Archives tools, SeamTools, Exadel提供的RichFaces Visual Page EditorJSF可视化页面编辑器),Hibernate TolsjBPM DesignerFreemarkerIDE等插件,下载地址为http://download.jboss.org/jbosstools/builds/release/3.1.0.GA/。这里下载的包为JBossTools-Update-3.1.0.v201003050540R-H56-GA.zip。下载好该工具包后,然后启动Eclipse,选择主菜单中的Help->Install New Software子菜单,出现如图1-4所示软件更新界面窗口,然后在该窗口中选择Add按钮,弹出如图1-5所示对话框,在该对话框中,输入所在添加的插件名字,这里输入的名字为“seams”,然后单击Archive按钮,选择上面所下载的JBossTools-Update-3.1.0.v201003050540R-H56-GA.zip,选择该文件后,单击OK按钮后,弹出如图1-6所示的JBossTools插件安装界面,这里选中其中的All JBoss Tools - 3.1.0.v201003050540R-H56-GA项目,然后单击Next按钮,根据安装向导完成插件的安装。

1-4  安装插件页面

1-5  选择插件安装包页面

1-6 选择所要安装的插件页面

1.3.4  下载并安装Seam

Seam的下载地址为http://seamframework.org/Download,最新版本为2.2.1.CR1,笔者下载的包为jboss-seam-2.2.1.CR1.zip

下载完上述插件后,启动Eclipse,打开“Window->Preference”窗口,选择“JBoss Tools”项中的Web->Seam子项,在右边出现窗格的“Seam”中选择“Add”按钮后,弹出如图1-7所示的窗口,将前面步骤下载的jboss-seam-2.2.1.CR1.zip解压目录添加到Seam选项中,这里选择Seam的版本为2.2,然后保存配置。

1-7  设置Seam开发环境

1.3.5  设置Eclipse所用的JDK

Eclipse的主菜单Window->Preferences->Java->Installed JREs项,出现如图1-8所示对话框。选择Add按钮,弹出如图1-9所示对话框,在对话框中选择Browse..按钮,选择所安装的JDK

1-8  设置JDK

 

1-9  选择JDK

 

原创粉丝点击