再说Java EE

    说到JavaEE(以前叫J2EE)是什么,你可能回答:JavaEE是一组规范,这么说是没错,但是自己不觉得这个答案很大、很空么?什么又是规范?规范能组成应用么?能在JVM中跑起来么?要理解这些,先得从什么是规范说起。

规范    

    因为Java开源,任何开发者都能写代码,然后提供给其他人使用,以数据库访问为例,现在有MySQL、Oracle两家数据库厂商,各自用java写自己的数据库访问流程代码:

    MySQL提供了3个类,分别是:Connection、SQLStatement、File

    开发流程为:

  • 使用Conenction获取数据连接
  • 为数据库连接传入SQLStatement
  • 根据SQLStatement返回数据的二进制数据
  • 使用File将二进制数据还原为Table

    Oracle看到MySQL的数据库开发这么复杂,于是精简开发,只提供了两个类:Connection、Table

    开发流程为:

  • 使用Connection数据库连接
  • 从数据库直接返回一张特定的完整表
  • 开发者操作这张表即可

    后来,又出来了很多数据库:SQLServer、DB2……每个厂商都有提供了自己的类和开发流程,每出一种数据库,java开发者都需要重新学习,数据库方面开发越来越乱。Sun一看,这不行,这样谁愿意使用java,于是作为权威的一方,加上几个主流的数据库支持厂商,商定了开发数据库的核心内容,如:

  • 定义接口类:Driver、Connection、Result、Statement
  • 定义每个接口类的主题,如Driver负责驱动管理
  • 定义每个接口类中的接口,如Driver中有getConnection定义
  • 定义数据库操作流程,如第一步为加载驱动;第二步为获取数据库连接

    为什么使用规范

    这个核心内容一出,大家都满意了:

  • 开发者满意了,只需要面向接口编程即可,再有新的数据库也不用再新学习。
  • 数据库厂商满意了,原来只会使用A数据库的开发者,现在可以使用己方公司的数据库,潜在的利益。
  • Sun满意了,开发者不再抱怨,社区变得更为活跃,Java变得更为流行。

    Sun说:既然大家都满意,以后只要是访问数据库,咱们都按照这个做,这个就定义为JDBC规范吧。一般为了更明显,Sun也会提供一组实现供厂商和开发者借鉴。

    以上关于Oracle和MySQL的纯属虚构,只是为了说明:什么是规范,为什么要制定规范。

    现有规范

    现有的JavaEE规范是:EJB、JSP、Servlet、JPA、JTA……,这些规范都是为了应对一类开发所提出的接口定义。如,JPA为关于持久化的;JTA是事务一方面的;JSP是表现层一方面的……

    未来规范

    随着Java的不断壮大,将来越来越多开发者使用Java开发语音通信,但是JavaEE中还没有这个规范,于是Oracle又站出来,叫上主流支持厂商说:为了统一开发,降低开发成本,编写语音通信要有规范,我们定义为JVA(Java Voice API),其中包括3个接口类:IPManager、WaveManager、ResultManager,IPManager接口类中的接口有xx,注释说明是yy……

    开发流程为:

  • 使用IPManager进行三次握手
  • 发送WaveManager发送A方语音信息
  • 使用ResultManager监听B方回信
  • ……

JavaEE应用

    那么,什么又是企业级应用?可以说用到JavaEE中任何规范的,都可以称之为企业级应用,只用到JSP,广义上来说也叫企业级应用。

    规范是接口,只有接口,是开发不了程序的,需要实现,于是你想开发数据库访问,必须要引入一种JDBC的实现:数据库驱动的jar包;想开发JSF,必须引入MyFaces等jar包……

总结

    以上说明了什么是规范,为什么要使用规范,接下来会逐个分析JavaEE中的常用的规范。



评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值