jee6 学习笔记 1 - 开发环境的配置

jee不停地折腾,好像09年推出了jee6,但我们还在用jee5。从jee5开始,jee将ejb技术进行了改良,增加了注入功能,减少配置文件,这是好事。在ejb3基础上,jee6进一步简化,推出了ejb3.1/jsf2.0

从编程的角度出发,jee6还是利用annotation来简化开发。有几个显著特点:如利用@ManagedBean 来代替在“faces-config.xml”中的配置;ejb也不一定要定义interface了,当然,这不一定是好事;还有就是打包,ejb可以打包在.war文件里,这样一个普通的web应用的配置文件可能只有WEB-INF/web.xml和META-INF/persistence.xml。

支持jee6规范的开源服务器主要有JBoss6.x, Glassfish3.x等。

最近利用空余时间弄弄jee6,并纪录下来,免得以后又忘了。下面是开发环境和所用技术:

oracle 10g
jboss6.1
eclipse3.7

java1.6
ejb3.1
jpa2.0
jsf2.1
primefaces3.3.1

下面是project 展开图:

jee6 学习笔记 1 - 开发环境的配置_第1张图片

今晚水煮鱼味道不错 

1. 首先总结一下开发环境

1.1 JSF的配置
JSF 的库有两个,一个是API,一个是实现。开发时要用到,下载下来放到项目的build path里。如果部署到JBoss这些库是不需要的。另外,JSF还要配置web.xml,后面附上。

1.2 PrimeFaces 的配置
比较简单,也要把它的库放到WEB-INF/lib里。如果要配置theme,就要将可用的theme下载(primefaces themes also in format of .jar files),并放到WEB-INF/lib底下,而且要在web.xml里配置一下。这个要打包到.war里的。

1.3 log4j的配置
因为将来要打包成.war,所以将log4j的库放到WEB-INF/lib底下,其配置文件放到WEB-INF/classes底下。这样打包到.war里的其他module也可以用。

1.4 jee6 及servlet API等可能用到的库作为user lib放到项目的build path里。 这些JBoss都有,没有必要打包到.war里。

2. 为什么这么搞,反正觉得这样还方便吧。现在好像很多人在用maven来管理项目,本人只会用ant。有时候觉得java社区太操蛋了,没完没了地折腾,学工具,学架子的时间比干活的时间多去了。要说明的一点是,将来打好包的.war文件,其classpath就是WEB-INF/lib, WEB-INF/classes。JSF2好像又加上了/resources这个目录。所以需要打包到最终部署文件(.war)里的包类等将来都要放到这些目录底下。

接下来看看web.xml, persistence.xml 等:

web.xml (mandatory)

jee6 学习笔记 1 - 开发环境的配置_第2张图片

faces-config.xml (optional)

jee6 学习笔记 1 - 开发环境的配置_第3张图片

persistence.xml (mandatory)

jee6 学习笔记 1 - 开发环境的配置_第4张图片

JBoss datasource deployment config file: jwLocalTest-ds.xml

jee6 学习笔记 1 - 开发环境的配置_第5张图片

application.xml, if package as enterprise archive (.ear)

jee6 学习笔记 1 - 开发环境的配置_第6张图片

uploaded the zipped project: "ProJee6.zip"

Ant target "deploy.jee6-war" can be used to build and package the simple application as a .war archive, including the EJBs as a lib within the web module, for deploying to JBoss6.1

Ant target "deploy.ear" can be used to build and package an enterprise archive .ear for the application. But the log4j is only configured for the web module and thus not working for the EJBs. The application should be working the same though.

下一篇看看login的代码: jee6 学习笔记 2 - @ManagedBean

你可能感兴趣的:(EJB3.1,jsf2.1,primefaces3.3.1,jpa2.0,jboss6.1)