一.J2EE
Java2包含 3个版本:J2ME(Java2 Micro Edition,Java2平台的微型版),应用于移动、无线及有限资源的环境;J2SE(Java 2 Standard Edition,Java 2平台的标准版),应用于桌面环境;J2EE(Java 2Enterprise Edition,Java 2平台的企业版),应用于基于Java的应用服务器。J2EE是java的企业级开发版本,其实换句话说就是用来做web开发的java框架。J2EE通过设定统一的标准来解决web开发的问题,J2EE的接口,抽象类,规定了web开发所需要实现的流程。整个web的开发,有2层,第1层是服务器容器,比如tomcat,weblogic。他们在J2EE的规范下,实现套接字的连接,封装消息等,第2层是业务,通过tomcat封装的消息,进行相应的业务处理。服务器容器的开发由大型的产商开发,而我们通常做的开发是在服务器容器上的业务开发,正是sun的J2EE统一了规范(比如用servlet)我们的业务代码,能和tcomcat进行很好的通讯。
J2EE的体系结构可以分为四层,J2EE体系结构图所示。
·客户端层:负责与用户直接交互,J2EE支持多种客户端,所以客户端既可以是WEB浏览器,也可以是专用的Java客户端。
·服务器端组件层:本层是为了基于WEB的应用服务的,利用J2EE中的JSP与Java Servlet技术,可以响应客户端的请求,并向后访问封装有商业逻辑的组件。
·EJB层:本层主要封装了商务逻辑,完全企业计算机,提供了事务处理,负载均衡、安全、资源连接等各种基本服务,程序在编写EJB时可以不关心这些基本的服务,集中注意力于商务逻辑的实现。
·企业信息系统层:企业信息系统层包括了企业的现有系统(包括数据库系统、文件系统),J2EE提供了多种技术以访问这些系统,如JDBC访问DBMS。
在J2EE规范中,J2EE平台包括有一整套的服务、应用编程接口和协议,可用于开发一般的多层应用和基于WEB的多层应用,是J2EE的核心和基础。
主要技术规范:
1.JDBC(Java Database Connectivity)
JDBCAPI为访问不同的数据库提供了一种统一的途径,像ODBC一样,JDBC对开发者屏蔽了一些细节问题。另外,JDBC对数据库的访问也具有平台无关性。
2.JNDI(Java Name and Directory Interface)
JNDIAPI用于执行名字和目录服务。它提供了一致的模型来存取和操作企业级的资源,如DNS和LDAP、本地文件系统、应用服务器中的对象。
3.EJB(Enterprise JavaBean)
EJB技术是在Java Bean本地组件技术基础上开发的面向服务器端分布应用的组件技术。EJB是Sun推出的J2EE规范的一部分,自从J2EE推出之后,得到了广泛的发展,已经成为应用服务器端的标准技术。JB提供了一个开发和实施分布式商务逻辑的框架,大大地简化了具有可伸缩性和高度复杂的企业级应用的开发。EJB规范定义了EJB组件如何与EJB容器(container)进行交互。容器负责提供公用服务,如目录服务、事务管理、安全性、资源缓冲池以及容错性等。但EJB并不是实现J2EE的唯一途径。正是由于J2EE的开放性,使得有的厂商能够以一种和EJB平行的方式来达到同样的目的。
EJB基于Java语言,提供了基于Java二进制字节代码的重用方式。EJB技术的推出,使得用Java基于组件技术开发服务器端分布式应用成为可能。从企业应用多层结构的角度来看,EJB是业务逻辑层的中间件技术。与JavaBeans的关键不同是它提供了事务处理的能力。
4.JSP(Java Server Pages)
JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端所请求后对页面中的Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。
5.Java Servlet Servlet是一种小型的Java程序,它扩展了Web服务器的功能。
作为一种服务器端的应用,和CGI脚本类似,当被请求时开始执行。Servlet提供的功能与JSP类似,但实现方式不同。JSP通常在大量的HTML代码中嵌入少量的Java代码,而servlets全部由Java写成并且生成HTML。
6.RMI/IIOP
RMI(Remote Method Invocation,远程方法调用)是Java的分布式对象标准,允许位于不同主机上的Java类之间进行通信。Java RMI是个应用程序编程接口(API),还是个分布对象模型;使用RMI,Java程序员可以像调用本地操作一样进行网络调用,从而很容易地构造分布式系统。IIOP协议本来是CORBA的一种传输协议,和RMI结合在一起,使得整合非Java对象变得更加简单。
7.Java IDL/CORBA
在Java IDL的支持下,开发人员可以将Java和CORBA集成在一起。他们可以创建Java对象并在CORBAORB中部署,或者创建 Java类作为和其他ORB一起部署的CORBA对象的客户。后者可用于遗留系统的集成。
8.XML(Extensible Markup Language)
XML是一种可以用来定义其他标记语言的语言。它被用来在不同的商务过程*享数据。XML的发展和Java是相互独立的,但是,它和Java具有的相同目标正是平*立性。Java和XML的组合构成一个完美的具有平*立性的解决方案。
9.JavaMail
JavaMail是用于存取邮件服务器的API,它提供了一套邮件服务器的抽象类。JavaMail同时支持SMTP服务器和IMAP服务器。
10.JAF(JavaBeans Activation Framework,JavaBeans 激活框架)
JavaMail利用JAF来处理MIME编码的邮件附件。MIME的字节流可以被转换成Java对象,或者转换自Java对象。大多数应用不需要直接使用JAF。
11.JMS(Java Message Service)
JMS是用于和面向消息的中间件相互通信的应用程序接口(API)。它既支持点对点的域,又支持发布/订阅(publish/subscribe)类型的域,并且提供对下列类型的支持:经认可的消息传递、事务型消息的传递、一致性消息和具有持久性的订阅者支持。JMS还提供了与遗留后台系统集成的一种方式。
12.JTA(Java Transaction Architecture,Java事务构架)
JTA定义了一种标准的API,应用系统由此可以访问各种事务监控。
13.JTS(Java Transaction Service,Java事务服务)
JTS是CORBAOTS事务监控的基本实现。JTS规定了事务管理器的实现方式。该事务管理器是在高层支持 Java Transaction API(JTA)规范,在系统底层实现OMGOTS规范的Java映像。JTS事务管理器为应用服务器、资源管理器、独立的应用以及通信资源管理器等提供事务服务。
二.Spring Boot
Spring Boot 是基于 Spring Framework 来构建的,Spring Framework 是一种 J2EE 的框架
Spring Boot的基础结构共三个文件:
src/main/java 程序开发以及主程序入口
src/main/resources 配置文件
src/test/java 测试程序