JavaEE规范基础知识

本人博客文章网址:https://www.peretang.com/basic-knowledge-of-javaee-standard/


JavaEE简介

JavaEE,Java平台企业版,其提供了一个用于开发Web应用和企业应用的标准平台/规范。

意味着,所有d的JavaEE服务器厂商提供的JavaEE 容器/服务器 必然 包含/支持 JavaEE所有规范的实现。使用标准JavaEE规范开发并搭配JavaEE 容器/服务器 可令开发人员专注于业务层面上,而不需要分心于依赖包包管理的问题。

重点:JavaEE≠JavaWeb,JavaWeb只是JavaEE规范中的一部分。

JavaEE规范包含了一整个企业应用所需要的所有模块。

其从架构上可以分为4部分。

    1.Web层

    2.业务层(Core)

    3.企业信息层(EIS)

    4.通用平台(Common)

JavaEE架构

Web层

提供Web交互,数据传输等方面的组件

1. 关注于为客户端生成各种格式内容的视图模块:JSP JSTL EL JSF

2. 关注于Web实时交互的模块:WebSocket Java API

3. 关注于提供Web服务的Java Web Service模块:JAX-WS JAX-RS

4. 关注于交互数据规范的模块:JSON-P JAXB

5. 关注于Web请求和响应的模块:Servlet

业务层(Core)

提供简化业务逻辑编写的组件

1. 关注于用于开发可移植,可重用,可伸缩的企业应用编程模型:EJB

2. 关注于用于开发简化的,轻量级的,容器管理的,基于POJO的编程模型:托管Beans(Managed Beans)

3. 关注于提供面向切面编程的模块:拦截器API(Interceptor)

4. 关注于提供事务管理的模块:JTA

5. 关注于优化并发编程的模块:JavaEE并发工具包(Concurrency Utilities for Java EE)

企业信息层(EIS)

提供与其他企业中间件或服务交互的组件

1. 关注于与数据库交互的模块:JDBC

2. 关注于Java持久化的模块:JPA

3. 关注于Java信息服务的模块:JMS

4. 关注于Mail服务的模块:JavaMail API

5. 关注于与遗留系统交互的模块:JCA

6.关注于执行批量任务的模块:Batch

通用平台(Common)

提供公用组件

1. 关注于上下文与依赖注入的模块:CDI

2. 关注于整合安全的模块:JACC JASP JAAS

3. 关注于JavaEE平台规范注解的模块:JavaEE通用注解(JavaEE common Annotation)

4. 关注于数据校验的模块:Bean验证API(Bean Validation)

5. 关注于JavaEE管理的模块:JavaEE管理API(JavaEE Management API)

6. 关注于提供查找组件,资源或服务的间接层模块:JNDI

JavaEE架构图

 

参考:

Java EE 7 Essentials

The Java EE Tutorial

JAVAEE规范基础知识的更多相关文章

  1. JavaEE XML 基础知识

    JavaEE XML 基础知识 @author ixenos 1.    XML开头都需要一个声明 <?和?>表明这是一个处理指令 <?xml version=”1.0” encod ...

  2. Spring框架基础知识

    本人博客文章网址:https://www.peretang.com/basic-knowledge-of-spring-framework/ Spring框架简介 Spring , 一个开源的框架 , ...

  3. [Java面试三]JavaWeb基础知识总结.

    1.web服务器与HTTP协议 Web服务器 l WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. l Internet上供外界访问的Web资源分为: • 静 ...

  4. Java基础知识总结(超级经典)

    Java基础知识总结(超级经典) 写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部分用到哪些语句,方法,和对象. 4,代码实现.用具体的java ...

  5. 毕向东—Java基础知识总结(超级经典)

    Java基础知识总结(超级经典) 写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部分用到哪些语句,方法,和对象. 4,代码实现.用具体的java ...

  6. JavaWeb基础知识总结

    JavaWeb基础知识总结.   1.web服务器与HTTP协议 Web服务器 l WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. l Internet上供 ...

  7. JAVA学习基础知识总结(原创)

    (未经博主允许,禁止转载!) 一.基础知识:1.JVM.JRE和JDK的区别: JVM(Java Virtual Machine):java虚拟机,用于保证java的跨平台的特性. java语言是跨平 ...

  8. Servlet学习笔记【1】--- 背景和基础知识(CGI、Web服务器发展史、Servlet简介、任务、继承结构)

    本文主要讲Servlet的基础知识和背景知识. 1 CGI简介 CGI(Common Gateway Interface 公共网关接口)是WWW技术中最重要的技术之一,有着不可替代的重要地位.CGI是 ...

  9. java基础知识一

    1.计算机基础知识概述 (1) 计算机 计算机(computer)俗称电脑,是一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能.是能够按照程序运行,自动.高速处 ...

随机推荐

  1. 去掉标题栏的方法(使用requestWindowFeature(Window.FEATURE_NO_TITLE);为什么失效)

    使用requestWindowFeature(Window.FEATURE_NO_TITLE)隐藏标题栏失效的原因,可能是activity继承的是AppCompatActivity.下面详细介绍了使用 ...

  2. JS中的普通函数和箭头函数

    最近被问到了一个问题: >javaScript 中的箭头函数 (=>) 和普通函数 (function) 有什么区别? 我当时想的就是:这个问题很简单啊~(flag),然后做出了错误的回答 ...

  3. 【iOS】7.4 定位服务->2.1.3.2 定位 - 官方框架CoreLocation 功能2:地理编码和反地理编码

    本文并非最终版本,如果想要关注更新或更正的内容请关注文集,联系方式详见文末,如有疏忽和遗漏,欢迎指正. 本文相关目录: ================== 所属文集:[iOS]07 设备工具 === ...

  4. Linux下python开发环境的准备

    升级python 安装依赖: yum install lrzsz zlib zlib-devel  openssl  readline-deve gcc  ibffi-devel python-dev ...

  5. 【Java 并发】详解 ThreadLocal

    前言 ThreadLocal 主要用来提供线程局部变量,也就是变量只对当前线程可见,本文主要记录一下对于 ThreadLocal 的理解.更多关于 Java 多线程的文章可以转到 这里. 线程局部变量 ...

  6. Java结合WebUploader文件上传

    之前自己写小项目的时候也碰到过文件上传的问题,没有找到很好的解决方案.虽然之前网找各种解决方案的时候也看到过WebUploader,但没有进一步深究.这次稍微深入了解了些,这里也做个小结. 简单的文件 ...

  7. 【C语言】两种方式实现冒泡排序算法

    题目要求 编写一个C语言程序,实现基本的冒泡排序算法. 算法 冒泡排序,用一句话来总结: 一组数中,相邻的两个数进行比较.交换,将最大(小)数交换至尾(首)部,即完成了一次冒泡排序 要想对N个数字进行 ...

  8. IOS开发创建开发证书及发布App应用(八)——使用Application Loader工具上传应用

    8.使用Application Loader工具上传应用 继续第七步在iTunes所创建的应用,打开应用,如下图 点击详情按钮进去之后,单击右上角Ready to Upload Binary按钮,如下 ...

  9. css简单实现火焰效果

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  10. 在Windows下安装redis扩展和memcached扩展

    一.php安装redis扩展   1.使用phpinfo()函数查看PHP的版本信息,这会决定扩展文件版本       2.根据PHP版本号,编译器版本号和CPU架构, 选择php_redis-2.2 ...