03Web服务器基础-10. JavaEE工程概述

2023-12-01 15:08

本文主要是介绍03Web服务器基础-10. 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 : 上下文,用来提供组件访问容器的功能的能力

这篇关于03Web服务器基础-10. JavaEE工程概述的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/441647

相关文章

分布式锁在Spring Boot应用中的实现过程

《分布式锁在SpringBoot应用中的实现过程》文章介绍在SpringBoot中通过自定义Lock注解、LockAspect切面和RedisLockUtils工具类实现分布式锁,确保多实例并发操作... 目录Lock注解LockASPect切面RedisLockUtils工具类总结在现代微服务架构中,分布

Java使用Thumbnailator库实现图片处理与压缩功能

《Java使用Thumbnailator库实现图片处理与压缩功能》Thumbnailator是高性能Java图像处理库,支持缩放、旋转、水印添加、裁剪及格式转换,提供易用API和性能优化,适合Web应... 目录1. 图片处理库Thumbnailator介绍2. 基本和指定大小图片缩放功能2.1 图片缩放的

python panda库从基础到高级操作分析

《pythonpanda库从基础到高级操作分析》本文介绍了Pandas库的核心功能,包括处理结构化数据的Series和DataFrame数据结构,数据读取、清洗、分组聚合、合并、时间序列分析及大数据... 目录1. Pandas 概述2. 基本操作:数据读取与查看3. 索引操作:精准定位数据4. Group

Spring Boot集成/输出/日志级别控制/持久化开发实践

《SpringBoot集成/输出/日志级别控制/持久化开发实践》SpringBoot默认集成Logback,支持灵活日志级别配置(INFO/DEBUG等),输出包含时间戳、级别、类名等信息,并可通过... 目录一、日志概述1.1、Spring Boot日志简介1.2、日志框架与默认配置1.3、日志的核心作用

破茧 JDBC:MyBatis 在 Spring Boot 中的轻量实践指南

《破茧JDBC:MyBatis在SpringBoot中的轻量实践指南》MyBatis是持久层框架,简化JDBC开发,通过接口+XML/注解实现数据访问,动态代理生成实现类,支持增删改查及参数... 目录一、什么是 MyBATis二、 MyBatis 入门2.1、创建项目2.2、配置数据库连接字符串2.3、入

Springboot项目启动失败提示找不到dao类的解决

《Springboot项目启动失败提示找不到dao类的解决》SpringBoot启动失败,因ProductServiceImpl未正确注入ProductDao,原因:Dao未注册为Bean,解决:在启... 目录错误描述原因解决方法总结***************************APPLICA编

深度解析Spring Security 中的 SecurityFilterChain核心功能

《深度解析SpringSecurity中的SecurityFilterChain核心功能》SecurityFilterChain通过组件化配置、类型安全路径匹配、多链协同三大特性,重构了Spri... 目录Spring Security 中的SecurityFilterChain深度解析一、Security

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

Apache Ignite 与 Spring Boot 集成详细指南

《ApacheIgnite与SpringBoot集成详细指南》ApacheIgnite官方指南详解如何通过SpringBootStarter扩展实现自动配置,支持厚/轻客户端模式,简化Ign... 目录 一、背景:为什么需要这个集成? 二、两种集成方式(对应两种客户端模型) 三、方式一:自动配置 Thick

Spring WebClient从入门到精通

《SpringWebClient从入门到精通》本文详解SpringWebClient非阻塞响应式特性及优势,涵盖核心API、实战应用与性能优化,对比RestTemplate,为微服务通信提供高效解决... 目录一、WebClient 概述1.1 为什么选择 WebClient?1.2 WebClient 与