菜鸟怎样开发出一个高质量的J2EE系统
J2EE学习者越来越多,J2EE本身技术不断在发展,涌现出各种概念,本文章试图从一种容易理解的角度对这些概念向初学者进行解释,以便掌握学习J2EE学习方向。
8 p4 D! C3 u0 d1 H S" k0 V) w打造最好的电脑自学交流论坛
7 E" h' N( ]' K" k0 b1 Gwww.520diannao.com
: u: Y2 K) O# E+ t: Y! u
L& } ^; u/ C2 W5 c" K. p% R" l: _打造最好的电脑自学交流论坛首先我们需要知道Java和J2EE是两个不同概念,Java不只是指一种语言,已经代表与微软不同的另外一个巨大阵营,所以Java有时是指一种软件系统的流派,当然目前主要是.NET和Java两大主流体系。 打造最好的电脑自学交流论坛- |/ V3 p# ?$ u1 o: t
我爱电脑技术社区--打造最好的电脑技术自学交流平台0 {' @" I s. a3 g
我爱电脑技术论坛! q. p" ~" b, L! Y$ y
我爱电脑技术论坛3 `! b# e( f4 `
J2EE可以说指Java在数据库信息系统上实现,数据库信息系统从早期的dBase、到Delphi/VB等C/S结构,发展到B/S(Browser浏览器/Server服务器)结构,而J2EE主要是指B/S结构的实现。
8 P& j4 {5 F8 |
1 B0 F/ u, \3 I6 V" \我爱电脑技术社区--打造最好的电脑技术自学交流平台我爱电脑技术社区--打造最好的电脑技术自学交流平台# |* W9 z% v V8 e$ L
+ z- ^8 L" l( Z" \' I! `J2EE又是一种框架和标准,框架类似API、库的概念,但是要超出它们。如果需要详细了解框架,可先从设计模式开始学习。
- l. {. }6 Q2 c! P" [我爱电脑技术社区--打造最好的电脑技术自学交流平台
' N5 x+ A, p0 O7 A. g我爱电脑技术社区--打造最好的电脑技术自学交流平台我爱电脑技术社区--打造最好的电脑技术自学交流平台' C- [8 i/ q4 k+ h0 X0 D
+ K* L- M" A: Y9 f3 Z+ i2 }我爱电脑技术论坛J2EE是一个虚的大的概念,J2EE标准主要有三种子技术标准:WEB技术、EJB技术和JMS,谈到J2EE应该说最终要落实到这三个子概念上。 ) b. D2 r7 u: _$ `& w4 m, t
www.520diannao.com B" C5 Q' L; x/ D, W; v
6 r; ^* m7 o$ Z' n, O q9 Hwww.520diannao.com' U% u( u/ G9 r* |- w9 k
这三种技术的每个技术在应用时都涉及两个部分:容器部分和应用部分,Web容器也是指Jsp/Servlet容器,你如果要开发一个Web应用,无论是编译或运行,都必须要有Jsp/Servlet库或API支持(除了JDK/J2SE以外)。
$ j0 {8 a' I# u, [+ X) J4 D" qwww.520diannao.comwww.520diannao.com7 E6 _/ x1 S' D0 a# e3 S# o8 O
2 d c. }5 `4 `www.520diannao.com
$ I# ^" n7 @4 j& F* u& N. S9 w电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站Web技术中除了Jsp/Servlet技术外,还需要JavaBeans或Java Class实现一些功能或者包装携带数据,所以Web技术最初裸体简称为Jsp/Servlet+JavaBeans系统。 我爱电脑技术社区--打造最好的电脑技术自学交流平台! m0 I6 B* Q, z/ V
( i5 Z2 K, K' T$ F# \; E+ b+ i电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站
$ b5 U: } p) R' e' Y( N/ \
. ^/ o5 y8 N( E v. g! c电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站谈到JavaBeans技术,就涉及到组件构件技术(component),这是Java的核心基础部分,很多软件设计概念(设计模式)都是通过JavaBeans实现的。
1 S) H9 ~* X* i J4 [电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站: {3 O2 Q, q6 y
. v7 w0 H& e2 u5 [0 Z电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站www.520diannao.com/ v" [$ B& T" E/ z
JavaBeans不属于J2EE概念范畴中,如果一个JavaBeans对象被Web技术(也就是Jsp/Servlet)调用,那么JavaBeans就运行在J2EE的Web容器中;如果它被EJB调用,它就运行在EJB容器中。
' c, x0 \8 n4 V2 C4 \" X我爱电脑技术论坛我爱电脑技术论坛6 T/ f3 p' k" g H; q# {4 }
打造最好的电脑自学交流论坛$ T1 |9 c2 d2 `/ T5 r. R
, D4 Y9 [8 }# }3 b& h打造最好的电脑自学交流论坛EJB(企业JavaBeans)是普通JavaBeans的一种提升和规范,因为企业信息系统开发中需要一个可伸缩的性能和事务、安全机制,这样能保证企业系统平滑发展,而不是发展到一种规模重新更换一套软件系统。 www.520diannao.com8 u: h2 S7 ?" b: h1 e
/ e4 v8 B+ Q0 ^& y, n6 cwww.520diannao.com
$ V* ?$ L& D) d我爱电脑技术社区--打造最好的电脑技术自学交流平台
3 o$ a7 o+ q. c1 l7 ]5 Z7 M2 {: V1 c5 v电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站至此,JavaBeans组件发展到EJB后,并不是说以前的那种JavaBeans形式就消失了,这就自然形成了两种JavaBeans技术:EJB和POJO,POJO完全不同于EJB概念,指的是普通JavaBeans,而且这个JavaBeans不依附某种框架,或者干脆可以说:这个JavaBeans是你为这个应用程序单独开发创建的。 我爱电脑技术论坛3 b/ R! n+ A" r3 }6 O
www.520diannao.com u5 \ E4 y7 f
我爱电脑技术社区--打造最好的电脑技术自学交流平台" F* m4 C, \* c; M l; E' d, ]
e8 U3 p9 o* X. ^+ Iwww.520diannao.comJ2EE应用系统开发工具有很多:如JBuilder、Eclipse等,这些IDE首先是Java开发工具,也就是说,它们首要基本功能是可以开发出JavaBeans或Java class,但是如果要开发出J2EE系统,就要落实到要么是Web技术或EJB技术,那么就有可能要一些专门模块功能(如eclipse需要lomboz插件),最重要的是,因为J2EE系统区分为容器和应用两个部分,所以,在任何开发工具中开发J2EE都需要指定J2EE容器。 我爱电脑技术社区--打造最好的电脑技术自学交流平台3 [8 }( b3 f0 Y) v# h* H1 y1 `
" {) y- V6 ^7 Iwww.520diannao.com3 B& L& R, L' [8 N" P; |$ g
7 B) x4 p0 v0 |: W电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站J2EE容器分为WEB容器和EJB容器,Tomcat/Resin是Web容器;JBoss是EJB容器+Web容器等,其中Web容器直接使用Tomcat实现的。所以你开发的Web应用程序可以在上面两种容器运行,而你开发的Web+EJB应用则只可以在JBoss服务器上运行,商业产品Websphere/Weblogic等和JBoss属于同一种性质。 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站/ o8 c! \1 x1 ?# l$ t" W2 R
我爱电脑技术论坛6 a o- R0 _; k4 z/ S$ i& F5 x
o: j$ }9 `: `, H我爱电脑技术社区--打造最好的电脑技术自学交流平台
' _9 | U' Q6 H5 Y: F5 G电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站J2EE容器也称为J2EE服务器,大部分时它们概念是一致的。 打造最好的电脑自学交流论坛' q: B8 L8 F5 t4 a* L
/ c' Q# e4 t( n打造最好的电脑自学交流论坛我爱电脑技术论坛: U5 P5 Y2 n( m& {; X9 _: A0 h# }
( \$ I, D1 v* t( N如果你的J2EE应用系统的数据库连接是通过JNDI获得,也就是说是从容器中获得,那么你的J2EE应用系统基本与数据库无关,如果你在你的J2EE应用系统耦合了数据库JDBC驱动的配置,那么你的J2EE应用系统就有数据库概念色彩,作为一个成熟需要推广的J2EE应用系统,不推荐和具体数据库耦合,当然这其中如何保证J2EE应用系统运行性能又是体现你的设计水平了。
7 U. Y0 _4 M, r' |2 v打造最好的电脑自学交流论坛我爱电脑技术论坛+ c$ N# F) [: K) t) v" h4 t$ |+ {# g
我爱电脑技术论坛- T6 g. W2 n! t' }
. n; v( b, g' U1 y$ b7 E) y衡量J2EE应用系统设计开发水平高低的标准就是:解耦性;你的应用系统各个功能是否能够彻底脱离?是否不相互依赖,也只有这样,才能体现可维护性、可拓展性的软件设计目标。 www.520diannao.com* V; d& [. E* I3 l
www.520diannao.com. Y9 ~0 t) s# w2 \8 y2 W. n$ O
) h9 |' n9 A6 e$ q2 ~7 E6 i' B打造最好的电脑自学交流论坛
) R6 b2 u2 H$ K" P2 M为了达到这个目的,诞生各种框架概念,J2EE框架标准将一个系统划分为WEB和EJB主要部分,当然我们有时不是以这个具体技术区分,而是从设计上抽象为表现层、服务层和持久层,这三个层次从一个高度将J2EE分离开来,实现解耦目的。
3 C; H8 n: T; w+ k/ p我爱电脑技术论坛www.520diannao.com+ `5 Q1 Q$ Q# r$ a2 \
" O K) u, D8 M- K
. w; l) z) s4 z0 f( y& W我爱电脑技术社区--打造最好的电脑技术自学交流平台因此,我们实际编程中,也要将自己的功能向这三个层次上靠,做到大方向清楚,泾渭分明,但是没有技术上约束限制要做到这点是很不容易的,因此我们还是必须借助J2EE具体技术来实现,这时,你可以使用EJB规范实现服务层和持久层,Web技术实现表现层;