JavaEE的整体概述

JavaEE整体概述

知识点:

1、整体概述JavaEE的知识体系

2、JavaEE是什么? 能干什么? 为什么需要JavaEE?

3、JavaEE有什么? JavaEE的技术体系? JavaEE的本质是什么?

4、JavaEE的零散基础知识

5、JavaEE的组件体系结构

-----------------------------------------------------------------------------------------------------

先来一张整体的概括图:

要知道JavaEE是什么?能干什么? 首先就要说说 "企业级开发",  JavaEE的全称是 Java Platform Enterprise Editiion的首字母缩写,意思是Java平台企业级开发,适于创建服务器的大型应用软件和服务系统. JavaEE只是Java平台的一个版本而已,它也是以Java语言为基础的,只不过多加入了一些适用于企业开发应用的API,并且规范了开发应用系统的框架.

Java目前存在三个版本,分别为JavaSE、JavaEE、JavaME

好了,下面说说什么是企业级开发?

  简单来说,企业级应用就是大规模的应用,通常具体以下特点:

  1.企业级应用系统包含的功能多、功能的业务逻辑比较复杂

  2.一般有许多的使用者、比较长的生命周期、系统稳定可靠

  3.企业级应用往往是分布式的、组件通常分布在异构(不同的软硬件平台)的计算环境中(指跨平台)

  4.对系统的可维护性、可扩展性与可重用性有很高的要求

  5.对系统的可配置和可伸缩性有很高的要求

  6.需要有事务管理、安全管理、线程管理

  从上面的特点可以看出,开发一个企业级应用不是件容易的事情,这些特点也就成为了开发的难点.

  如何去解决上面企业级开发的难点呢? ----> 使用JavaEE来解决

   好了,现在可以回答:

    什么是JavaEE?  --> JavaEE是Java平台的一个版本,用于帮助解决企业级应用开发所面临的一系列问题的应用开发平台

    JavaEE能干什么?  --> JavaEE能帮助解决企业级开发所面临的一系列问题

  JavaEE的技术分布:

    

    从上图可以看出,JavaEE是由许多技术组合而成的.

    从本质上来讲,JavaEE是什么?

       1.JavaEE是一个技术集

       2.JavaEE是规范集

         3.JavaEE是框架集和API集

    为什么说JavaEE的本质是上面3句话呢? 请看下图:

    

  JavaEE应用开发的特点:

  1、JavaEE部分的代码通常是固定的、或是有章可寻的,从代码角度看是非常简单的

  2、应用中复杂的业务逻辑,仍然是使用Java来实现的。也就是说JavaEE部分只是相当于一个壳,而真正的逻辑处理还是Java

  3、JavaEE部分的难点在于技术众多,如何选择它们、如何组合它们、如何扬长避短使用它们、如何调整和优化它们等等问题。

    解决这些问题就需要对这些技术本身非常熟悉,不仅仅是写代码,更重要的是理解这种技术的实现原理、优点缺点、适用场景、运行流程等等,而且要求技术非常全面,必须对用到的所有技术有足够的认识.   

  JavaEE学习中要注意:

  1.学习规范,可以只学与开发人员相关的部分

  2.学习相应的API

  3.按照规范的要求去写代码和配置

  4.一定要分离出JavaEE部分和Java代码部分

  5.一定要理解原理和内部的运行流程

  

  JavaEE的零散知识

  C/S和B/S

  什么是C/S和B/S系统?

  1.C/S : Client/Server 客户/服务器模式  B/S : Brower/Server浏览器/服务器模式

  2.C/S优点: 能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器,客户端响应速度快

  3.B/S优点: 可以在任何有浏览器的地方进行操作而不用在客户端安装任何专门的软件,主要工作都放到服务器上进行

  4.C/S缺点:客户端需要安装专用的客户端软件,导致部署和维护困难

  5.B/S缺点:有时候服务端的压力会过大,而客户端的资源较为浪费;还有B/S的安全控制了比较弱,网络安全性是个问题

  

  JavaEE的组件体系结构

    组件、容器、服务器

  1.组件 : 组件可以定义为一种自治的、提供外部公共接口的、动态可用的事务处理过程,组件可以用来构建其它组件或者应用程序。简言之,组件就是能完成一定功能的封装体,小到一个类,大到一个系统。

  2.容器: JavaEE的组件是不能独立运行的,必须要为组件提供相应的运行环境,为组件提供运行环境的就是容器

  3.服务器:容器也是不能直接运行的,容器必须要运行在应用服务器之上,一个服务器可以同时运行多个不同的容器

  三者各自的功能:

  1.组件主要由应用开发人员完成,用来实现应用系统的功能

  2.容器有两个主要的功能: 一是提供组件运行环境,二是控制组件生命周期

  3.服务器也有两个主要功能: 一是提供容器运行环境,二是实现JavaEE规范中的技术要求和功能

  

  三者各自的分类:

  1.组件分为: 在服务端有放置到Web容器中的Servlet组件,放置到EJB容器中的EJB组件,在客户端就是Applet

  2.容器分为: 在服务端有Web容器和EJB容器,在客户端有Applet容器

  3.服务器分为:Web服务器(只包含Web容器),JavaEE服务器(同时包含Web容器和EJB容器)

  三者的关系:

  1.一种容器只能放某种类型的组件,一个容器可以放多个组件,一个组件也可以放到多个容器中

  2.一个服务器可以有多个容器,但通常都是不同类型的容器

  

  

  组件如何让容器知道自己呢?

    组件自我介绍  -->  部署描述文件  -->  xml格式,要描述的内容固定  -->  规范

  容器如何调用组件?

    回调方法:由组件开发实现,但是不由组件调用,而是由容器在适当的时候进行调用方法  -->   规范

  组件如何访问容器的功能呢?

    Context : 上下文,用来提供组件访问容器的功能的能力

  

时间: 2024-08-09 13:23:37

JavaEE的整体概述的相关文章

JavaEE体系架构概述、MyBatis总结

JavaEE体系架构概述 java EE是sum公司发布的标准企业级应用规范集合,它提供了一个多层结构的分布式应程序模型,是开发基于网络的企业级应用首选平台.Java EE技术平台的核心思想是“容器”加组件 事务:有明确边界的一组序列,在应用程序中一个请求对应一个事务,当请求发送时,事务开始,当请求结束,事务也就结束.总的来说,事务有四个特性:1.原子性,一个请求要么成功,要么失败,不会再有其他情况:2.一致性,事务处理需要的和得到的时相同的:3.持久性,事务处理的结果时确认的.持久的,如果需要

原创mysql内核源代码深度解析 缓冲池 buffer pool 整体概述

本人原创文章,转载请注明出处. mysql的内存管理庞大而先进,这在mem0pool.c文件的开头注释中都有说明,粗略的可以分成四部分,包含9大块: buffer pool, parsed andoptimized SQL statements, data dictionarycache, log buffer, locks for eachtransaction, hash table forthe adaptive index, state andbuffers for each SQL q

数据库之mariadb整体概述

一.数据库的安装方式及其安装步骤  1.安装方式 rpm包安装,yum安装,二进制包安装,编译安装 2.安装步骤 (本文是使用二进制包安装) 1)下载mariadb相应版本的数据库,解压 tar xf mariadb-5.5.48-linux-86_64.tar.gz -C /usr/local/ 2)创建软链接及其创建用户和存放数据目录和授权其目录文件 cd /usr/local ln -sv mariasb-5.5.48 mysql chown -R root.mysql mysql gro

Hadoop整体概述

目录 前言 core-site.xml hdfs-site.xml mapred-site.xml yarn-site.xml 一.HDFS HDFS的设计理念 HDFS的缺点 1.NameNode 1.1.namenode的作用 1.2.元数据目录说明 1.3.NameNode启动 2.Secondary NameNode 3.数据存储细节 4.DataNode 5.Blocks块(最小化寻址,加快数据传输速度) 6.HDFS文件读取的解析 7.HDFS文件写入的解析 8.HDFS通信协议 9

JavaEE 概念

JavaEE体系架构概述 1.  企业级应用 现代企业级应用是以服务器为中心,通过网络把服务器和分散的用户联系在一起的应用.一般来说,现代企业级应用应当具有如下需求: 并发支持:同时收到大量服务请求,并需要快速响应: 事务支持:支持事务完整性,对于多个系统,需要支持分布式事务: 交互支持:多个系统之间进行交互: 集群支持:提供系统可用性和可伸缩性,企业级应用应该很容易随业务的需求而扩展: 安全支持:受保护的资源获得安全保护: 分布式支持:查找和调用分布式服务: Web支持:基于Internet或

一个基于Android系统的新闻客户端(一)

一.整体概述 在服务器端,通过对凤凰网的抓取存入数据库,客户端通过向服务器发送请求得到新闻. 服务端用WCF,宿主为window服务,客户端为Java写的安卓程序. 二.客户端 我在eclipse里新建了个Android项目,命名为MyNewClient,eclipse自动生成二个xml布局文件,如图: 其中,fragment_main.xml是新版的布局文件,暂时不会用,把它删掉. 新建xml文件,命名为activity_foot.xml,在这里我们要做app的底部,先上代码: <?xml v

我是如何对网站CSS进行架构的

一.写在前面的 都是自己积累形成的一些东西,可能带有明显的个人印记.不是专业内容,不是权威指南,只是展示一点自己的观点,借此希望能与各位优秀的同行交流看法,见解.以得到进步与提高. 二.我所知的一些过往的做法 关于如何处理网站的CSS,各个网站做法都不一样,这随着网站的性质及大小不同,公司前人留下的规范不同,以及CSS工程师的眼界不同而有所不同.由于我从业经历有限,所知甚浅,只能说些肤浅业余的内容,不准确之处欢迎指出. 就CSS文件而言,有的网站分为header.css, body.css, f

BOS物流管理系统-第一天

BOS物流管理系统-第一天-系统分析.环境搭建.前端框架 BoBo老师 整体项目内容目标: 对项目概述的一些理解 亮点技术的学习 注意学习方式:优先完成当天代码. 其他内容. 最终: 学到新的技术,会应用新的技术:对项目有个整体感觉: 课程安排:12天左右 主要内容: 项目整体概述和一般流程(项目概念.一般项目流程等) BOS项目的概述(项目背景.需求.技术架构.学习目标) 开发环境搭建 项目导入和运行(传统项目结构)(Struts2的通配符映射) 项目导入和运行(Maven项目结构)(STS开

计算器软件的代码实现 (windowform窗体+SQL+策略模式)

一 整体概述 这个计算器软件的功能和以前的功能基本上一样,只不过是数据的保存形式发生了变化,,以前用的是txt文件保存,现在更正用SQL数据库,现在更改了以前的文件保存形式,是三层架构中数据层的更换,但是仍然采用了设计模式中的策略模式,对于在wpf中实现的要求,会在今后中进一步实现的! 二 数据库代码的封装  using System; using System.Collections.Generic; using System.Linq; using System.Text; using Sy