Sharpmark's Personal Home Page

Java Enterprise Edition(J2EE)概述

十月份开始看J2EE的东西。很崩溃,突然涌出来那么多名词。一个个理解它们的意思,作用和使用方法……。很吐,为了能让后来人不被这些名词所迷惑,这里写个扫盲贴,新入门的人可以根据下面的介绍,合理的选择自己需要学习的东西。随着我对他们认识的逐步加深,这篇还可能不断更新。欢迎随时关注。下面的内容都是自己写的,但自己也是初学,所以有什么不对的地方,欢迎指正。

Java

先说Java. 目前广泛使用的是Java 1.5。Java分为Java Platform, Enterprise Edition(Java EE), Java Standard Edtion(Java SE), Java Micro Edition(Java ME)。分别运用于企业开发,标准开发以及移动设备(嵌入式)开发。在Java是1.2版本的时候,SUN认为Java改动很大,所以称之为Java2。后来大家习惯了这种称呼方法,就有了所谓的J2EE, J2SE, J2ME,他们跟Java EE/SE/ME是完全等价的。不过在2006年,SUN放弃了J2xE的称呼,统一为Java XX Edition。这里侧重说一些关于Java EE的名词。

JDK/JRE

JDK:Java Development Kit。语源是SDK。是Java得开发包,面向使用Java开发的人员。JRE是Java Runtime Enviroment,面向的是使用Java相关软件或者服务的用户。

JSP/Servlet

Servlet是Java EE的核心。它是一个响应网络请求,并做出答复的组件。可以处理各种网络请求,并返回结果。绝大多数时候,servlet响应的是http请求,返回的是一个html页面。Servlet处理请求得功能很完善,不过对于返回的Html各式并没有天生的良好支持。所以就有了JSP(Java Server Page),它是将类似Java语法的代码嵌入html页面中,生成动态的html。JSP实质上,在最后都会编译成servlet。所以,JSP只是一种简化html开发的技术。

Struts/Webwork

基于Java EE的框架。所谓框架, 可以理解成是对底层进行了封装,并提供专有功能的程序库。Struts是Java EE的老牌开源框架。struts, webwork都是侧重于表示层方面的框架,都是基于MVC模型。Struts 1.2比较成熟,多数使用struts的都是基于此版本。所谓的struts 2.0是struts的开发者发现struts本身的固有模型有问题,所以完全放弃,跟另一个表示层框架webwork合并,使用Webwork2作为底层的新框架,跟struts 1.2完全不同。

JSF

Java Server Faces。一个模型更加高级的表示层框架。类似asp.net的事件驱动模型。有很大潜力,不过最大的缺点是,它还不是Java标准。(这个我没有用过,所以信息就这么多了)。

Spring

目前最流行的Java EE框架。基本延伸到了Java EE的整个模型中(表示层,业务逻辑层,数据层)。其主要特点是AOP和IoC。它的模块很多,可以只使用其中几个,而且Spring跟其他框架是配合关系,而不是竞争关系。Spring可以很好的整合目前流行的很多框架。Spring还有自己的一套轻量级MVC模型,可以取代Struts/Webwork。

AOP

Aspect Oriented Programming.面向切片编程(以前叫做面向方面编程)。将程序的一些服务代码,例如日志纪录,数据检验等分离出来。使得原始程序更加注重业务逻辑。

IoC

Inversion of Control.控制反转,或称依赖注入。一般情况下,要使用一个框架,就将框架的一些代码嵌入到原始程序中,这样做会产生对框架的依赖性。控制反转,就是再不改变原始的对象的情况下,反转整个过程,由外部来注入。这样就可以很容易的使用或者放弃某个框架。这个能力就是Spring的核心。

DAO

Data Access Object。数据访问对象,属于O/R mapping的一种实现方法。通过DAO对象,可以将程序对象的属性等映射到数据库中。

JDBC/JDO/Hibernate

数据访问层的组件/框架。JDBC(Java DataBase Connection)是Java访问数据库的底层组件。JDO(Java Data Object),Java的数据对象。Hibernate是目前最流行的O/R mapping框架。自动的将程序对象和数据表做映射,封装了数据库的操作。Hibernate的底层是JDBC。

JUnit

开源的单元测试框架。是利用反射机制实现的。

Eclipse/MyEclipse

Eclipse如日中天的开发环境IDE。MyEclipse是建立在Eclipse基础上的升级版,提供很多功能,使得开发JavaEE更加容易。其他IDE还有NetBeans, JBuilder等等。

Apache/Tomcat

Apache是一个组织。作了很多开源的东西。其中最著名的就是Apache/Tomcat了。Apache/Tomcat是类似IIS那样的网络服务平台。作为JavaEE, PHP, Asp.net(mono)等等网络服务器的底层运行平台。一般来说,JavaEE编译好的文件要部署到Apache/Tomcat才可以浏览。

Subversion(SVN)/CVS

版本控制工具。CVS是老牌的,Subversion是摒弃CVS的一些缺点的新型版本控制工具。TortoiseSVN是SVN的可视化版本。

Ant

程序构建工具。make/makefile等的替代品。集成了编译、部署等功能。这个基本没有怎么研究过,所以不多说了。

Ecside

国人开发的报表。表示层控件。开源的。

to be continue…

JBoss/Weblogic

目前: 1 条评论

  1. Lily 十一月 10, 2009 4:48 下午

    谢谢啦、刚开始接触这些东西,对我扫盲实在是太有用了。

留下 您的足印

请注意评论的语气。不要谈论违法,影响社会"河蟹"的言论。您的email永远不会被公开。