javaEE之JPA、EJB、JSF架构工程

按照星爷的视频教程架构JPA+EJB+JSF工程主要有以下几步:

1、服务器架构:

按照本人之前的《javaEE之eclipse+jboss搭建开发环境》方法搭建好的开发环境,添加server时要在Server runtime environment中选择JBoss v5.0,后面添加服务器目录,在新添加的服务器点击右键,选择open,进入Overview界面,选择Timeouts 将Start(in seconds)调为500,Stop(in seconds)调为150。这样可以防止因为开启和关闭服务器超时而导致的异常,而且,就本人理解,建立在相应服务器下面的工程都会在服务器开启的时候同时加载,这时,工程越多,服务器开启所花时间久会越长。

2、JPA架构:

(1)首先要在集成开发环境中添加一个jboss服务器,我用的是jboss-5.0.0.Beta4,这个服务器版本不是很高,对于一般的pc机启动服务器的时间至少需要30秒。

(2)本人用的是mysql的数据库,这时还需要一个jar包mysql-connector-java-3.1.14-bin.jar。

(3)new 一个jpa project ,next到JPA Facet 界面时,这时要配置数据连接,点击Add connection,进入Connection Profile,在列表中选择Mysql,将下面的Name改为MySQL,因为这个连接最好不要中间有空格。

(4)点击下一步,到Specify a Driver and Connection Details 界面,在Drivers后面点击带*号的按钮,这个是New Driver Definition,在Name/Type选项卡下面选择4.0版本,在Jar List选项卡下面将自动添加的jar包remove,然后添加mysql-connector-java-3.1.14-bin.jar,点击OK完成Driver配置。

(5)回到Specify a Driver and Connection Details 界面,在General选项卡下面修改Datebase为数据库中已经建好的数据库名,URL也要将jdbc:mysql://localhost:3306/database 中的database改成和前面的一样。填好password后要记得Test Connection,如果能ping通说明连接建立成功,一路next下去就完成了connection的建立。

(6)回到JPA Facet界面,点击finish就完成了JPA的新建。到这一步完成了工程的建立,下面要做的是配置文件的修改。切换到JPA视图,在src目录下新建一个文件夹,按照星爷的习惯命名都是test,在这个目录下new 一个Entities from Tables ,Select Tables 选择一张表,下面的操作就是对一些相关联的表的操作了,一直next下去就建好了对应表的JPA类。

(7)下面还有一步操作就是修改META-INF目录下的persistence.xml,open with persistence editor,在Connection选项卡内,JTA data source 填java:/testDS (解释:我建的数据库名为test,数据库名不同时只要将test改掉就行了)。

(8)还有一步操作,在jboss-5.0.0.Beta4\docs\examples\jca目录下将mysql-ds.xml 复制到jboss-5.0.0.Beta4\server\default\deploy目录下,做如下修改:

 <jndi-name>testDS</jndi-name>
    <connection-url>jdbc:mysql://localhost:3306/test</connection-url>
    <driver-class>com.mysql.jdbc.Driver</driver-class>
    <user-name>root</user-name>
    <password>root</password>

按照上面下划线标注出来的修改。到目前为止,JPA建立已经完成。

3、EJB架构:

(1)切换到javaee视图,new 一个EJB project,一路next就建立好了。

(2)选择工程,点击右键进入java Build Path,在project选项卡下把之前建的JPA工程添加进来。

(3)在ejbModule目录下建立一个文件夹,还是叫test,下面就可以在test包里new 一个session bean(EJB3.x),选择remote,不选local,这时新建的bean就是对前面数据库表的绑定。

(4)到此时,EJB架构完成,这时,还有session bean的一些代码需要修改,将在下面的博客中介绍。

4、JSF架构:

(1)new 一个dynamic web project,选择Dynamic web module version为2.2,因为jboss5.0暂时还不能很好的支持jsf工程。一直next下去就完成工程搭建。

(2)建立好的工程要记得将之前建立的EJB和JPA工程添加进来,星爷反复强调,不要把几个工程的项目写到一个工程下面,他们是不同的处理方式,弄到一起就会出错。

(3)这时还需要添加三个jar包:jboss-faces.jar、 jsf-api.jar 、jsf-impl.jar。

(4)在webContent目录下新建jsp文件,一定要在Select JSP Template界面下选择New JavaServer Faces(JSF) Page (html),next下去就完成了jsf工程下jsp页面创建。

(5)剩下还要修改的就是对WEB-INF下web.xml文件的修改:

	 <servlet-mapping>
		<servlet-name>Faces Servlet</servlet-name>
		<url-pattern>*.faces</url-pattern>
	 </servlet-mapping>

建议做如上修改。

5、如果不是建JSF工程做测试,那么就简单建一个java project做测试也行,本人建test工程。

(1)将jboss-5.0.0.Beta4\server\default\conf 的 jndi.properties文件复制到test工程的src目录下,做如下修改:

java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.provider.url=localhost:1099

此时,就能在src目录下建立java文件进行测试了。

(2)测试:将JPA工程export成一个jar文件到\jboss-5.0.0.Beta4\server\default\deploy 目录下,同时将EJB工程run on the server,这时是要在相同目录下生产一个ejb工程的jar文件。jsf工程里的jsp文件在测试的时候有一个很麻烦的地方,就是在每次修改后都要把*.war文件删掉,本人建议写一个批处理来执行:

del /f/s/q E:\eclipse\jboss-5.0.0.Beta4\server\default\deploy\*.war
建一个后缀名为.bat的记事本文件,按照上面的处理代码,就能双击删除所有*.war文件。

更过的关于代码方面的总结期待下一篇。谢谢……

没有更多推荐了,返回首页