【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东西好多啊,需要后面通过项目把知识消化,然后再去拓展。
- 【J2EE】--让你不能拒绝的J2EE13核心规范
- J2EE13规范
- J2EE规范的核心要素 - 概述
- J2EE13中核心技术规范
- J2EE13种核心技术规范
- J2EE13种规范
- J2EE13大规范
- J2EE13个规范
- j2ee13个规范总结
- J2EE13种核心技术规范概览
- 让你的客户无法拒绝的13句话
- 拒绝Ajax,让你的网页同样可以拒不刷新
- J2EE的十三个规范
- J2EE的十三个规范
- J2EE的十三个规范
- J2EE的十三个规范
- J2EE的十三个规范
- J2EE的十三个规范
- SVN(VisualSVN )详细教程(五)--下载和搭建SVN服务器
- 反渗透设备:纯净水处理设备的特点
- /dev/mtd和/dev/mtdblock的区别
- php学习基础篇之常量、文件上传
- 【Android应用开发技术:网络通信】计算机网络基础
- 【J2EE】--让你不能拒绝的J2EE13核心规范
- 关于编译出现 bash:adduser:command not found
- Map用法
- Unity3D应用防外挂与防破解
- 虚拟机备份
- Linux中FTP的使用
- 关于layout_weight的一个很有意思的特点
- jdk配置、jvm配置、远程debug配置样例
- IIS 中没有发现ASP.NET v4.0