zoukankan      html  css  js  c++  java
  • 再说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中的经常使用的规范。



  • 相关阅读:
    MT4编程初级手册
    导出oracle序列
    Win10下用Anaconda安装TensorFlow
    06-python opencv 使用摄像头捕获视频并显示
    python @修饰符的几种用法
    Ubuntu 16.04 安装 PyCharm
    Python判断变量的数据类型的两种方法
    上海地图
    kindle看扫描版pdf的解决办法
    查看已安装tensorflow版本
  • 原文地址:https://www.cnblogs.com/hrhguanli/p/3956212.html
Copyright © 2011-2022 走看看