JavaEE的整体概述
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 : 上下文,用来提供组件访问容器的功能的能力
以上是关于JavaEE的整体概述的主要内容,如果未能解决你的问题,请参考以下文章