B/S 体系结构

image.png

Java EE 经典架构

image.png

Java EE 13规范

JDBC

image.png

JDBC 对象与接口

java.sql.DriverManager:

用于管理JDBC驱动的服务类,当JDBC驱动加载至内存后,DriverManager会自动注册JDBC驱动,然后通过getConnection方法建立Java应用至DBMS的连接;

java.sql.Connection:

数据库连接对象,通过createStatement创建SQL声明;

java.sql.Statement:

SQL语句接口,通过executeQuery或executeUpdate执行一个静态的SQL语句;

java.sql.ResultSet:SQL语句执行结果对象,包含了若干维护表记录的操作方法;

java.sql.SQLException:SQL操作期间的异常处理,所以异常均通过该类抛出;

JDBC 连接池

image.png

JNDI

Java Naming and Directory Interface(Java命名和目录服务接口),是命名目录服务的抽象接口集合,为企业级应用提供了统一的标准化连接,使Java能无缝获取任何可目录化的企业信息。

JNDI包含API与SPI(服务提供接口),JNDI SPI用于命名和目录服务的设计与实现,使各类数据服务标准化,JNDI API用于快速方便的访问任何目录服务。

JNDI由3个包组成:

javax.naming:定义了命名服务的类型,以及所有 存取标准接口;

javax.naming.directory:是javax.naming的扩展,提供了所有对于目录服务的 访问标准操作与接口;

javax.naming.spi:定义了命名目录的服务接口,遵循这些标准接口,开发者能够为不同数据服务编写出统一的命名目录服务;

RMI

定义

基于 TCP/IP 套接字方式的分布式调用,是 Java 开发分布式应用的基础,简单来说,就是把接口(Interface)与实现从本地移到了远程的服务器上,从而实现了接口与实现的分布式调用。

image.png

Servlet

Servlet的定义:

是部署在Java的Web服务器上的组件,整个Java服务端程序都构建在Servlet之上,以多线程方式提供服务,具有效率高,可扩展,可移植的特点;

JSP的定义:

Java Server Page,所有JSP页面在执行时都会被编译成Servlet,由JSP页面生成的Serlvet叫作“JSP页面实现类”,甚至可以把JSP认为是嵌入了Java语句的HTML页面文件;

Servlet / JSP的关系:

在页面展现上,Servlet通过输出HTML语句来实现动态页面,如果SUN不推出JSP标准,那么Java的Web页面开发(动态页面的交互过程)将会十分痛苦

EJB

整体结构

image.png

从上图中可以看到,JavaBEAN,RMI与JNDI,在EJB中是基础,起到关键作用;

1、EJB被成功发布后,客户端通过JNDI获得对HOME接口的引用;

2、然后通过HOME对象得到EJB对象;

3、最后,客户端就可以通过EJB对象来调用EJB实例的业务方法

EJB作用示意图

image.png

EJB包括3种类型的Bean:

会话Bean(Session):用于描述业务处理过程,可以作为其他Bean的客户端,用来调用其他Bean;

实体Bean(Entity):用于描述数据,提供了持久数据的操作与表示,可同时与多个客户机进行交互,运行结束后,其状态仍能保留;有2种类型的实体Bean,CMP与BMP;

消息驱动Bean(Message-Driven):集成了JMS和EJB的功能,不向客户端开放,只用于系统内部的交互;

JTA

JTA(Java Transaction API),Java事务API,其定义为:

是一组事务接口定义,描述了对于不同资源(包括数据库,EJB,服务通讯等)的事务处理规范;

需要注意的是:

JTA只提供了接口,并没有提供实现类,完全需要自行实现;

JTA可以实现同一事务对应不同的资源,但是不能实际事务的嵌套;

JTA的主要组成

javax.transaction.UserTransactoin定义了事务的操作范围,包括启动、提交以及回滚;

javax.transaction.xa.XAResource是面对各类资源的事务接口,JTA采用XA接口规范作为自身的资源标准,所以,只要是符合XA的资源,JTA都能够处理

JMS

JMS(Java Message Service)的定义

提供了一列创建、发送、接收、和读取企业消息的通用方法;

JMS中的消息通讯都是异步方式的;

JMS可以处理由其他类型客户端所发消息;

具体JMS应用的组成

客户端:用来处理消息的应用,分为JMS客户与非JSM客户端,区别在于实现的技术有所不同;

消息(Message):在不同应用或组件中进行异常通讯的请求、事件或报告;

JMS Provider:实现了JMS标准的应用服务;

被管理对象:事先配置的JMS对象,由管理员为使用JMS的客户端所创建

JMS的消息传递方式

PTP:点对点方式,以队列的方式进行消息的处理;

Pub/Sub:发布/订阅方式,包含了“消息调适器(Topic)”,通过这个调用器来处理消息;

2种方式也可以同时存在一个应用中;

image.png

Java EE 轻量级架构

Mybatis

MyBatis是一个数据持久层(ORM)框架,在实体类和关系数据库之间建立了sql映射关系,是一种半自动化的ORM实现。

Spring

特点:Ioc/DI(控制反转/依赖注入)、AOP(面向切面)

Spring 包含并管理 应用对象 的配置和生命周期,在这个意义上它是一种容器,Spring 可以配置bean如何被创建,基于一个可配置原型 (prototype),bean可以创建一个单独的实例或者每次需要时都生成一个新的实例,以及bean之间是如何相互关联的。

image.png

image.png

Spring容器了很多服务,但这些服务并不是默认打开的,应用需要某种服务,需要先指明使用该服务,如果应用使用的服务很少,如:只使用了spring核心服务,那么我们可以认为此时应用属于轻量级的,如果应用使用了spring提供的大部分服务,这时应用就属于重量级。

EJB容器就因为它默认为应用提供了EJB规范中所有的功能,所以它属于重量级。

SpringBoot

核心

自动配置:针对很多Spring应用程序常见的应用功能,Spring Boot能自动提供相关配置

起步依赖:告诉Spring Boot需要什么功能,它就能引入需要的库。

命令行界面:这是Spring Boot的可选特性,借此你只需写代码就能完成完整的应用程序,无需传统项目构建。

Actuator:能够监控运行中的Spring Boot应用程序

经典架构

image.png

轻量级架构

image.png

轻量级微服务架构

image.png

轻量级前后端分离架构

image.png

java ejb jsp 架构_JavaEE架构相关推荐

  1. Java、JSP B/S架构下的网络公告墙的设计与实现

    技术:Java.JSP等 摘要:随着现代社会科技的飞速发展,人们交流和获取信息越来越方便,多媒体技术的兴起更是加速了信息的传播.在英特网中,有一种以论坛为形式的信息交流,并且这种交流途径发展迅速,已经 ...

  2. java ee jsp程序_JavaEE——jsp介绍

    声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权:凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记. jsp介绍: jsp全称Java Server Page,它 ...

  3. java servlet jsp javabean关系图,一个关于javaBean+servlet+jsp的MVC架构有关问题

    当前位置:我的异常网» Java Web开发 » 一个关于javaBean+servlet+jsp的MVC架构有关问题 一个关于javaBean+servlet+jsp的MVC架构有关问题 www.m ...

  4. 从Java程序员进阶为架构师,全套16张图概括最全技能!建议收藏!

    如何从程序员进阶到架构师?今天完整的把我积累的经验和技能分享给大家! 作者:陈睿|优知学院创始人 数据结构+算法=程序 数据是一切能输入到计算机的信息总和,结构是指数据之间的关系,数据结构就是将数据及 ...

  5. java计算机毕业设计微服务”架构下新闻头条的设计与实现源码+系统+数据库+lw文档

    java计算机毕业设计微服务"架构下新闻头条的设计与实现源码+系统+数据库+lw文档 java计算机毕业设计微服务"架构下新闻头条的设计与实现源码+系统+数据库+lw文档 本源码技 ...

  6. 面试1:Java、微服务、架构常见面试题(持续更新中)

    Java.微服务.架构常见面试题(持续更新中) 文章目录 Java.微服务.架构常见面试题(持续更新中) ==**Java**== 1.Java概述 (1)JVM.JRE和JDK (2)Java特点 ...

  7. JavaWeb小项目(二)- 完成品牌数据的增删改查(JSP/MVC/三层架构综合应用)

    JavaWeb小项目(二)- 完成品牌数据的增删改查(JSP/MVC/三层架构综合应用) 文章目录 JavaWeb小项目(二)- 完成品牌数据的增删改查(JSP/MVC/三层架构综合应用) 环境搭建 ...

  8. java mvc引擎_Velocity是一种Java模版引擎技术,MVC架构的一种实现,但它更多的是关注在Model和View之间,作为它们的桥梁。服务端渲染,我们使用最多的就是用他...

    Velocity是一种Java模版引擎技术,MVC架构的一种实现,但它更多的是关注在Model和View之间,作为它们的桥梁.服务端渲染,我们使用最多的就是用他来渲染HTML.下面我们看看他与spri ...

  9. 从Java程序员进阶到架构师,6大核心技能要领详解

    " java架构师技能将分为如下6大环节:数据结构和算法,Java高级特性,Java web核心,数据库,Java框架与必备工具,系统架构设计. 希望能真正帮助到从程序员进阶到架构师之路的朋 ...

最新文章

  1. 做为程序员对sql进行的性能优化
  2. hongyi lee 作业1
  3. 浅析Page.LoadTemplate(模板)方法动态获取绑定模板后,通过FindControl获取服务端控件的方法。...
  4. 压缩/批量压缩/合并js文件
  5. Learning Spark中文版--第三章--RDD编程(1)
  6. gcc 编译流程分析
  7. java cookie id,我如何在Java中获取会话ID
  8. cleanlab(解决图像标记错误)
  9. C++之---class 的三种访问修饰符( public、private、protected )
  10. Remoting调用的用户名密码问题
  11. 前后端开发接口文档模板(登录、注册、项目发布与需求发布)
  12. java小项目:抽签小程序
  13. 慧荣SM2258XT+B17颗粒,固态硬盘无法格式化已开卡成功,经验分享+量产工具,SM2259XT2类似
  14. 如何下载一个网页的背景图片
  15. HTML的表格边框的合并
  16. sketch八款设计插件,画图效率翻倍
  17. SHA与MD5算法的区别
  18. lombok var和java var 如何抉择使用?
  19. JavaEE进阶——全文检索之Lucene框架
  20. Truelore星桥,为投标全过程保驾护航

热门文章

  1. Python学习5 元组基础知识和常用函数
  2. c++面向对象高级编程 学习十一 类模板、函数模板、成员模板
  3. Springboot 项目中过滤器的使用
  4. 2018.08.09洛谷P3959 宝藏(随机化贪心)
  5. oracle pl/sql 包
  6. 关于虚拟机第二块网卡eth1(仅主机模式)的配置问题
  7. Android 监控网络状态
  8. BNUOJ 1207 滑雪
  9. dedecms织梦最新0day
  10. 在.NET中用excel导出(概要)