《javaee课程设计.pdf》由会员分享,可在线阅读,更多相关《javaee课程设计.pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 Java EE 是 J2EE 的一个新的名称,之所以改名,目的还是让大家清楚J2EE只是Java企业应用。在2004年底中国软件技术大会Ioc微容器(也就是 Jdon 框架的实现原理)演讲中指出:我们需要一个跨J2SE/WEB/EJB 的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖 J2SE/J2EE 版本。功能规定:架构图 让我们看看 Java EE 5 有哪些新的功能或规定,我们可以从 SUN网站下载 Java EE 5 规范。在 WEB 层主要加入了 JSF 这个新的表现层框架,和我们日常开发关系密切的是,引入了新的 Java Persistence 标准,这
2、个标准正在由 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
3、 5 重要改变还是:Java EE 不再象以前那样只注重 大型商业系统的开发,而是更关注小到中型系统的开发,简化这部分系统开发步骤。落实这一简化行动的最大特征是在 Java 5.0(Java 1.5)中加入Annotations,通过 Annotations 引入,降低 Java EE 开发时,既要写 code,又要写 XML 配置文件之苦,来回照顾,疲于奔命,Annotations 既是得益于 C+语言,也是从开源项目 xDoclet 实践中获得经验。但是 Annotations 是一把双刃剑,初学者用得不好,将会使得原本在 XML 中的 Hard code(硬编码)写进入代码 Annota
4、tions,破坏代码的简洁和灵活性,当然,Annotations 的引入不只是解决 XML 配置,从大的概念说,是解决一个资源注射问题(XML 属于其中一个资源),在原理 J2EE中,容器管理的资源都是由 JNDI 向应用程序提供的,通过Annotations 可以方便实现注射。资源注射(Resource injection)设计概念其实是来自 Ioc 模式(Dependency Injection),笔者设计开发的 Jdon 框架其实已经将Annotations 这一宗旨的目的实现,在 Jdon 框架应用演示源码SimpleJdonFrameworkTest 中,在 jdonframewor
5、k.xml 中有一段如下配置:这段配置是将数据库的 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 编程方
6、法上。所以,无论学习 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 等插件。Security 安全 Security 安全是 Java EE 的一个重要特点,也就是基于容器的安全访问,无需自己手工编码,具体实现可参考 Jdon 框架应用演示源码 JdonNews。这虽然是
7、基于 J2EE 1.3 编写,但是和 Java EE 5 区别不是很大。事务管理 Transaction Management 也是 Java EE 5 的一个重要部分,该标准文档从几个方面阐述了事务管理的要点,标准中规定 了在 WEB 层中使用事务和线程的处理关系,标准中规定:Web 服务器如 Tomcat 无需在 Web 层提供事务支持,因为 Web 组件根本不支持事务繁衍/传递。因为当前一些架构如 Struts+Spring+Hibernate/Struts+Hibernate 是标准中的 Web 结构,因此 Java EE 5 在 J2EE 4.2.2 规定了 Web 组件事务的生命周期,如果 Web 组件直接调用 JTA,事务就不可以跨一个客户端的多个请求,事务只能在一个请求(Servlet/Jsp)中完成,这个标准规定了我们在 Web 架构中(如上述架构)无法使用长事务(如工作流/状态图中跨页面请求事务),针对一个客户端跨请求的事务暂时只有唯一解决方案:只有使用 EJB 的有态 Session。以上是 Java EE 5 主要部分,Java EE 包含更多其他技术部分如Jdbc JMS JCA JNDI 等等,需要用户在实践中摸索。