文档章节

JavaEE

m
 maotuzi
发布于 2017/05/25 09:07
字数 1336
阅读 25
收藏 0

JavaEE 是 J2EE的一个新的名称,之所以改名,目的还是让大家清楚J2EE只是Java企业应用。在2004年底中国软件技术大会Ioc微容器(也就是Jdon框架的实现原理)演讲中指出:我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。

 

简要介绍

JavaEE是 J2EE的一个新的名称,之所以改名,目的还是让大家清楚J2EE只是Java企业应用.随着WEB和EJB容器概念诞生,使得软件应用业开始担心SUN的伙伴们是否还在Java平台上不断推出翻新的标准框架,致使软件应用业的业务核心组件架构无所适从,从一直以来是否需要EJB的讨论声中说明了这种彷徨。

 

在2004年底中国软件技术大会Ioc微容器(也就是Jdon框架的实现原理)演讲中指出:我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本.此次J2EE改名为Java EE,实际也反映出业界这种共同心声。

 

JavaEE的核心是EJB3.0, 其提供了更兼便捷的企业级的应用框架。

 

核心优势

编辑

J2EE容易让初学者误解是独立于一套Java的技术方案。

从更深层次来看,Java诞生十年,多年前的业务组件还可以使用,软件应用不再由于语言的更迭革命带来毁灭的打击了。

 

愿意了解更多的讲解可关注:mingli.com

 

朋友需要更多知识分享请加球球了解:二零四二八四九二三七

功能规定

编辑

架构图

让我们看看Java EE 5有哪些新的功能或规定,我们可以从SUN网站下载Java EE 5规范。其架构图如下:

 

图中灰色加黑部分是Java EE 5新的功能,我们看到,在WEB层主要加入了JSF这个新的表现层框架,和我们日常开发关系密切的是,引入了新的Java Persistence标准,这个标准正在由EJB 3.0专家组制定。

值得指出的是,这个Java持久化标准也可以嵌入在WEB层调用,所以,它肯定不会从属于EJB标准,这样,当前所有的Java持久层标准如:JDBC/JDO/hibernate/Entity Bean将可能统一,减少用户的架构选择 痛苦。

EJB 3.0和EJB 2.0的区别

从架构图可以看出,无论Web结构或EJB结构,提供实现的功能相差不多,这样,我们的业务核心组件就可以根据需要部署在Web或EJB中运行,而不依赖具体的Java EE容器了。前面一章图的目标在Java EE 5中可以实现了。

当然,Java EE 5重要改变还是:Java EE不再象以前那样只注重大型商业系统的开发,而是更关注小到中型系统的开发,简化这部分系统开发步骤。

落实这一简化行动的最大特征是在Java 5.0(Java 1.5)中加入Annotations,通过Annotations引入,降低Java EE开发时,既要写code,又要写XML配置文件之苦,来回照顾,疲于奔命,Annotations既是得益于C++语言,也是从开源项目xDoclet实践中获得经验。

但是Annotations是一把双刃剑,初学者用得不好,将会使得原本在XML中的Hard code(硬编码) 写进入代码Annotations,破坏代码的简洁和灵活性,

当然,Annotations的引入不只是解决XML配置,从大的概念说,是解决一个资源注射问题(XML属于其中一个资源),在原理J2EE中,容器管理的资源都是由JNDI向应用程序提供的,通过Annotations可以方便实现注射。

资源注射(Resource injection)设计概念其实是来自Ioc模式(Dependency Injection ),笔者设计开发的Jdon框架其实已经将Annotations这一宗旨的目的实现,在Jdon框架应用演示源码SimpleJdonFrameworkTest中,在jdonframework.xml中有一段如下配置:

<pojoService class="com.jdon.framework.test.dao.JdbcDAO" name="jdbcDAO">

<constructor value="java:/TestDS"/>

</pojoService>

这段配置是将数据库的JNDI名java:/TestDS注射到JdbcDAO中。Jdon Framework下一个版本将是基于Java 5.0,这行配置 将可通过 Annotations写在jdbcDAO代码中,方便程序员开发。

从这里,大家也可以知道EJB 3.0和EJB 2.0的区别了,有的人疑惑,是学习EJB 3.0还是学习EJB 2.0,其实EJB 3.0并没有在原理机制上对EJB有多大改动,只是做了编程方面的简化,另外EJB CMP参考了Hibernate新特点,EJB 3.0最大简化变动是CMP编程方法上。所以,无论学习EJb 3.0/2.0,EJB原理和运行机制都是一样,这部分才是学习EJB最大的困难处,而不是因为到了EJB 3.0,理解EJB就会容易。

初学者可从Eclipse+Xdoclet开发EJB 2.0开始学习, EJB 3.0 = EJB 2.0 + xDoclet,这里有一篇Eclipse开发EJB教程,使用JBossIDE非常简单,无需Lomboz等插件。

© 著作权归作者所有

共有 人打赏支持
m
粉丝 2
博文 44
码字总数 66815
作品 0
惠州
程序员
私信 提问
Servlet的一些细节--学习笔记

Servlet细节 1)浏览器访问的url-pattern只是一个符合格式的任意字符串,以/开头 2)一个Servlet的url-pattern可以是1个或多个,有二种形式; a).xx b)/xx/ 注意:/不能一起直接使用 3)/和....

知止内明
04/17
0
0
Tomcat如何与Servlet对象进行交互

Tomcat 是Web应用服务器,是一个Servlet/JSP容器. Tomcat作为Servlet容器,负责处理客户请求,把请求传送给Servlet,并将Servlet的响应传送回给客户.而Servlet是一种运行在支持Java语言的服务器上...

KeepMoving
2015/03/09
0
0
访问WEB-INF目录中的JSP文件

方法1: 本来WEB-INF中的jsp就是无法通过地址栏访问的.所以安全.如果说你要访问这个文件夹中的jsp文件需要在项目的web.xml文件中去配置servlet格式差不多的配置就ok了。如下: [html] view p...

moz1q1
2015/03/31
0
0
javaweb Servlet开发

一、Servlet简介   Servlet是sun公司提供的一门用于开发动态web资源的技术。   Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向浏览器输出数...

木云凌
10/25
0
0
Servlet 生命周期、工作原理

Servlet 生命周期:Servlet 加载--->实例化--->服务--->销毁。 init():在Servlet的生命周期中,仅执行一次init()方法。它是在服务器装入Servlet时执行的,负责初始化Servlet 对象。可以配...

ArlenXu
2015/01/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Apache用户认证,域名跳转

11月15日任务 11.18 Apache用户认证 11.19/11.20 域名跳转 11.21 Apache访问日志 11.18 Apache用户认证 vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf //把123.com那个虚拟主机编辑......

zgxlinux
36分钟前
1
0
idea 添加 VUE 的语法支持和开发

《一》VUE的开发分两种,一种是直接在HTML文件中使用,一种是VUE文件的形式开发 1,首先我们先让 HTML 文件支持 VUE 的语法指令提示 2,File -> Setting -> Edit -> Inspections -> html 3,...

文文1
54分钟前
1
0
【NLP】【七】fasttext源码解析

【一】关于fasttext fasttext是Facebook开源的一个工具包,用于词向量训练和文本分类。该工具包使用C++11编写,全部使用C++11 STL(这里主要是thread库),不依赖任何第三方库。具体使用方法...

muqiusangyang
59分钟前
3
0
防止Tweak

什么是tweak? 英文意思为捏, 拧,扭,稍稍调整(机器、系统等)。 依据维基百科的定义,tweak指的是对电子系统进行轻微调整来增强其功能的工具;在ios中tweak特指那些能够增强其它可执行程...

HeroHY
今天
3
0
linux中常用标识---不定期更新

LINUX常用标识符: 1 & && | || &: 表示进程在后台运行 例如 redis-server & 不是所有后台运行都是& 比如es ./bin/elasticsearch -d es后台运行&&: 第一个命令执行成功后 才执行后面的命令...

geek土拨鼠
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部