【J2EE】--让你不能拒绝的J2EE13核心规范

来源:互联网 发布:python 爬虫金融数据 编辑:程序博客网 时间:2024/04/28 08:49


背景

  数据库连接,邮件服务、事务处理等,这些是企业级开发通用的模块。为了提高开发的效率,各个公司抽象出了自己的通用模块。这些服务性的软件系列成为中间件。不同的公司生产不同的中间件,用户无法将各个公司的中间件组装到一起。于是提出标准的概念。这样就有了J2EE十三个规范。有了规范,不同的公司都可以按照各自的方式去实现公共接口,实现了中间件和项目业务逻辑的解耦和,充分的体系了Java面向对象的思想。

  我个人的理解如下,如果邮箱服务类是A公司开发的,数据库连接类是C公司开发的,J2EE规范充当的角色就是,制定统一的接口(接口名称,方法,参数,返回值),具体的邮箱服务、数据库连接类里面的具体实现由各个公司来书写。





J2EE宏观一览


  

       Web浏览器发出页面请求,直接访问到的是web容器表示层,JSP,Servlet。


JSP(Java Server Pages)页面由HTML代码和嵌入其中的Java代码组成。服务器在页面被客户端请求后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端浏览器。它的原理跟ASP(Active Server Pages)基本类似,ASP包含HTML、组件和数据库访问功能,可以根据客户端请求形成HTML页面返回给客户端浏览器。


Servlet是一种小型的Java程序,它扩展了web服务器的功能。它跟JSP都能作为View层使用,但是不同的是JSP是HTML和Java语言的结合,Servlet是纯Java代码,可以由Java代码生成HTML语言。Servlet让我想到了MVC模式中的Controller,之前在做.NET项目的时候,在Controller中是完全可以拼接前台页面的。


鉴于让页面表示和业务逻辑解耦的思想,与其让JSP或Servlet单独作业,更好的是二者系统合作,JSP主要负责页面显示,Servlet负责整合Java业务。

         

          EJB(Enterprise Java Bean)容器在图中充当业务逻辑层。下图是对EJB容器的具体介绍。

SessionBean主要用来实现业务逻辑,可以分有状态和无状态两种。

一般通过EntityBean+JDBC(JavaDatabase Connectivity)实现数据库的访问。EntityBean是域模型对象,用于实现O/M映射,负责将数据库中的表映射为内存中的实体对象上,根据跟之前.NET项目中用到的EF类似。

消息驱动Bean是唯一一种必须实现一个业务接口的Bean,主要通过JMS来实现。

JDBC(Java Database Connectivity)为访问不同的数据库提供统一的路径,像ODBC一样。

JMS(Java Message Service)用于和面向对象的中间件相互通信的应用程序接口。

JNDI(JavaName and Directory Interface)API被用于执行名字和目录服务.它提供了一致的模型来存取和操作企业级的资源DNS和LDAP,本地文件系统,或应用服务器中的对象.

RMI(RemoteMethod Invoke):远程方法请求,RMI协议调用远程对象上的方法,它使用了序列化的方式在客户端和服务器之间传递数据。RMI是一种被EJB使用的更底层的协议。

                                                                  EJB容器



                                                             消息驱动Bean的实现原理

  

              还有几个规范,我把他们的概念放到这里,后续的学习再回头加深理解。

XML(Extensible Markup Language)是一种可以用来定其它标记语言的语言。用于在不同的商务过程中共享数据。也就是我们做项目过程中用到的配置文件。

JavaIDL/CORBA:它们可以创建Java对象并使之可在CORBAORB中展开,或者他们还可以创建Java类并和其它ORB一起展开的CORBA对象客户.后一种方法提供了另外一种途径,通过它Java可以被用于将你的新的应用程序和旧的系统集合在一起。


跟邮件相关的:

JavaMail:用于存取服务器的API,提供了一套邮件服务器的抽象类。支持SMTP,IMAP服务器。

JAF(JavaBeansActivation Framework):Java利用JAF来处理MIME编码的邮件附件。


跟事务相关的:

JTA(JavaTransaction API):定义了一种标准API,应用程序由此可以访问各种事务监控。

JTS(JavaTransaction Service):CORBAOTS事务监控的基本实现。



总结

  对于J2EE的总结,仅仅是一个开始。通过总结,让我发现J2EE东西好多啊,需要后面通过项目把知识消化,然后再去拓展。





1 0
原创粉丝点击