很多朋友认为EJB的架构很重量级,我个人认为那只是EJB2的时代,EJB3一样能构建一个很轻量便捷的系统.
首先我们来构建一个最基本的EJB3系统:
系统环境:
1.glassfish3.1
2.eclipse 3.7
3.Derby
不要问我为什么用这些不主流的东西,原因是他们很简单,拿来就能用.特别是derby,很方便的说.
1.glassfish3.1配置,不调优的话基本不用配置.不过一些常用命令还是要记录一下
控制台: http://localhost:4848/
创建域: asadmin create-domain f:
开始域: asadmin start-domain --domaindir f:
关闭域: asadmin stop-domain --domaindir f:
部署war: asadmin deploy f:j2ee.war
反部署: asadmin undeploy f:j2ee.war
运行DB: asadmin start-database --dbhome f:j2db
2.Derby
Derby有两种连接方式,(1)嵌入式,(2)客户端式,区别是嵌入式是独占连接
glassfish默认就有两个
数据库连接,分别对应derby的两种连接方式,如果选择timepool,则当我们部署一个EJB的时候DB会同时启动,反之则要手动启动.
3.eclipse
(1)创建一个动态web项目
(2)在src/meta-inf文件夹中创建一个persistence.xml文件,内容如下
[
html]
< xml version="1.0" encoding="UTF-8" >
xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
(3)修改web.xml文件如下
[html]
< xml version='1.0' encoding='UTF-8' >
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
(4)小实例,服务器端,Count.java
[java]
/**
*@Author : Copper Lau
*@Created Date : Feb 19, 2013
*@Modified By : Copper Lau
*@Modified Date : Feb 19, 2013
*@Version : 1.0
*/
package com.copper.test;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
@ManagedBean(name = "count")
@SessionScoped
public class Count{
private Integer count = 0;
public Integer getCount() {
return count;
}
public void increCount(Integer i) {
count = count + i;
}
public void reset() {
this.count = 0;
}
}
(5)Web端
[html]
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">