再说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中的常用的规范。

再说Java EE,布布扣,bubuko.com

时间: 2024-08-06 10:52:26

再说Java EE的相关文章

eclipse安装java ee插件方法步骤

1.本人以前使用的MyEclipse进行Javaweb开发,但是后来由于myeclipse实在太臃肿,经常在运行的过程中不流畅 (可能电脑内存也不是太高吧)   !所以坚决换用eclipse,但是问题来了,下载的eclipse因为是标准版所以也不支持Javaweb开发,所以要来配置一下开发环境,安装Javaee开发插件   ,以下为安装步骤 1.1 在Eclipse中菜单help选项中选择install new software选项 1.2 在work with 栏中输入 http://down

Java EE开发平台随手记1

过完春节以来,一直在负责搭建公司的新Java EE开发平台,所谓新平台,其实并不是什么新技术,不过是将目前业界较为流行的框架整合在一起,做一些简单的封装和扩展,让开发人员更加易用. 和之前负责具体的项目开发不同,不能只是功能实现就可以,还需要考虑更多的非功能性需求,比如性能.安全性.易用性.可维护性.易扩展性.兼容性等等,因此有很多在实际项目中觉得方便易用的功能不得不因种种原因而舍弃:另一方面,也常常会偶尔有一些新想法.新构想,但因缺乏实践论证,也往往没有加入进来:此外,对于平台中已经添加的那些

Java Web项目中缺少Java EE 6 Libraries怎么添加

具体步骤如下: 1.项目名称上点击鼠标右键,选择"Build Path-->Configure Build Path-->Java Build Path" 2.单击"Add Library..." 3.选择"User Library",单击"Next" 4.单击"User Libraries...",选择需要的Java EE 6 Libraries Java Web项目中缺少Java EE 6

InfoQ观察:Java EE的未来

原创 2017-03-06 Charles Humble 聊聊架构 作者|Charles Humble编辑|薛命灯 作为InfoQ下一年编辑关注点审核工作的一部分,我们挑选了Java作为深入探讨的主题.我们借用了Geoffrey Moore在他的经典书籍<跨越鸿沟>里的所描述的模型,这个模型贴切地概括了技术的生命周期,它包含五个阶段:创新者(Innovators).早期采用者(Early Adopters).早期大众(Early Majority).后期大众(Late Majority)和落后

关于JAVA EE项目在WEB-INF目录下的jsp页面如何访问WebRoot中的CSS和JS文件

找了这么久资料,总算解决了 感谢博客园:http://www.cnblogs.com/xsht/p/5275081.html 感谢百度:http://zhidao.baidu.com/link?url=Vz4TlygvnMyYVj105bCuzkusjF0G5rM6opHvEzhcCaJK5s1gFUZ3PBgAWCNsfY1RmtPf4ZEo8EV_Gd7SYKV4S_ 在有Struts部署的Java EE环境中,我们一般把jsp页面写在WebRoot\WEB-INF\content 目录下,

SSH:Struts + Spring + Hibernate 轻量级Java EE企业框架

Java EE(Java Platform,Enterprise Edition)是sun公司(2009年4月20日甲骨文将其收购)推出的企业级应用程序版本.这个版本以前称为 J2EE.能够帮助我们开发和部署可移植.健壮.可伸缩且安全的服务器端Java应用程序.Java EE 是在 Java SE 的基础上构建的,它提供Web 服务.组件模型.管理和通信 API,可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和 Web 2.0应用程序.

Java EE规范是如何制定的

我们经常做的JAVA EE开发实际上都是遵从了JAVA EE的规范进行的,那么这些规范是如何制定的呢? 这就不得不提到JCP这个组织了. JCP( Java Community Process)可以翻译为Java社区进程,这个组织是1998年由SUN公司创立的.JCP给公众了一个参与JAVA平台开发和维护的机会.那么我们是如何参与进去呢,这就不得不提到JSR(Java Specification Request Java标准请求). JSR是也就是java标准请求,可以由JCP的注册会员发起,然

java ee环境搭建

下载安装Java EE SDK 版本:Java Platform,Enterprise Edition 7 SDK (with JDK 7u45) 下载页面: http://www.oracle.com/technetwork/java/javaee/downloads/java-ee-7-sdk-with-jdk-u45-2066865.html 文件名:java_ee_sdk-7-jdk7-windows.exe 安装路径:D:\glassfish4 环境变量设置 JAVA_HOME=D:\

开发者眼中的Spring与Java EE

本文来源于我在InfoQ中文站翻译的文章,原文地址是:http://www.infoq.com/cn/news/2015/07/spring-javaee 在Java社区中,Spring与Java EE之争是个永恒的话题.在这场争论中,来自两个阵营的布道师.架构师与铁杆粉丝都在不遗余力地捍卫着本方的尊严,并试图说服对方加入到自己的阵营当中,但结果却是双方都很难说服对方,每一方都有充分的理由表明自己的选择是正确的.参与到这场争论的有一些架构师,他们负责着平台的选择.那么对于普通开发者来说该如何思考

Java EE学习--Quartz基本用法

新浪博客完全不适合写技术类文章.本来是想找一个技术性的博客发发自己最近学的东西,发现博客园起源于咱江苏,一个非常质朴的网站,行,咱要养成好习惯,以后没事多总结总结经验吧.很多时候都在网上搜索别人的总结,我自己也总结些东西,或许多多少少能帮得上别人. 首先提到的是Quartz,一个开源的定期执行计划任务的框架.其实我内心好奇这个框架很久了,像那些能定时修改数据库数据,定时分配任务的功能一直觉得很神奇.心动不如行动,今天我就小小的学习了一下用法,力求言简意赅,大家都懂的我就不说了. 第一步:下载Qu