EJB方面 1、EJB2.0有哪些内容?分别用在什么场合? EJB2.0和EJB1.1的区别?
2 t8 c* L& @& g) h* ]3 B0 D. A/ [+ }( `5 L" @: z; }8 P, O
答:规范内容包括Bean提供者,应用程序装配者,EJB容器,EJB配置工具,EJB服务提供者,系统管理员。这里面,EJB容器是EJB之所以能够运行的核心。EJB容器管理着EJB的创建,撤消,激活,去活,与数据库的连接等等重要的核心工作。JSP,Servlet,EJB,JNDI,JDBC,JMS.....9 A. l: T; r: W+ v6 }% z
2、EJB与JAVA BEAN的区别?
; g) \3 M( @; r3 S9 c$ _2 c0 R, l% ]) s8 ]9 k3 ]
答:Java Bean 是可复用的组件,对Java Bean并没有严格的规范,理论上讲,任何一个Java类都可以是一个Bean。但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应具有一个无参的构造器,另外,通常Java Bean还要实现Serializable接口用于实现Bean的持久性。Java Bean实际上相当于微软COM模型中的本地进程内COM组件,它是不能被跨进程访问的。Enterprise Java Bean 相当于DCOM,即分布式组件。它是基于Java的远程方法调用(RMI)技术的,所以EJB可以被远程访问(跨进程、跨计算机)。但EJB必须被布署在诸如Webspere、WebLogic这样的容器中,EJB客户从不直接访问真正的EJB组件,而是通过其容器访问。EJB容器是EJB组件的代理,EJB组件由容器所创建和管理。客户通过容器来访问真正的EJB组件。# \$ M) c2 ^0 O6 W' m3 c# A- Q/ O
3、EJB的基本架构" M4 k' f1 Q9 G/ k$ Q: l6 P
7 R2 V" K/ s2 k a" K7 s 答:一个EJB包括三个部分:3 L: n5 u4 \1 Z$ w8 }
Remote Interface 接口的代码
% H% n: X9 e' d+ q package Beans;2 t7 N+ C1 u$ w& M. y3 o* E
import javax.ejb.EJBObject;- ?# W5 o- ^% r# q: Q, T' k* N
import java.rmi.RemoteException;
( j& C: f. f# x0 p: m! t public interface Add extends EJBObject: f Y& D% _3 K& ^& J7 u
{/ C+ ~4 _. @3 @1 d& w
//some method declare
- r) R: j+ ~% n" b% r/ ~ }3 x, Y7 N. H/ Y, G: z0 S, c
Home Interface 接口的代码
5 @% s) Q7 k% l# O package Beans;
) V ^( L S( l3 k, K! K import java.rmi.RemoteException;
5 _- D$ b, h$ L' R! M' X; v import jaax.ejb.CreateException;! p- }5 b3 O: u' Y) i: k
import javax.ejb.EJBHome;! G+ k0 ~8 A: y, ]
public interface AddHome extends EJBHome1 H# `4 n# v7 ?+ e" I1 \" J
{9 d S1 _; ^% a: B0 b- k. x+ I! Y
//some method declare
2 |% G% P- a$ |+ Y2 H }
4 o) c; U6 ?# ^ EJB类的代码
7 H; t6 M: p$ o) x" H package Beans;7 o. w( u( b. N& g) R6 b) T4 S
import java.rmi.RemoteException;5 ?0 x x6 ?$ U# u
import javax.ejb.SessionBean;
- L1 Q3 `: P! b5 W1 K: _ import javx.ejb.SessionContext;, |! X3 s9 l+ A8 G
public class AddBean Implements SessionBean* ?/ ]' n5 E5 z% m
{
# w- G' U% E e3 L5 a0 E' E# x //some method declare
( C$ O- R% c) y% v/ v } |