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

相关文章

Java Predicate接口定义详解

《JavaPredicate接口定义详解》Predicate是Java中的一个函数式接口,它代表一个判断逻辑,接收一个输入参数,返回一个布尔值,:本文主要介绍JavaPredicate接口的定义... 目录Java Predicate接口Java lamda表达式 Predicate<T>、BiFuncti

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

Spring Security方法级安全控制@PreAuthorize注解的灵活运用小结

《SpringSecurity方法级安全控制@PreAuthorize注解的灵活运用小结》本文将带着大家讲解@PreAuthorize注解的核心原理、SpEL表达式机制,并通过的示例代码演示如... 目录1. 前言2. @PreAuthorize 注解简介3. @PreAuthorize 核心原理解析拦截与

一文详解JavaScript中的fetch方法

《一文详解JavaScript中的fetch方法》fetch函数是一个用于在JavaScript中执行HTTP请求的现代API,它提供了一种更简洁、更强大的方式来处理网络请求,:本文主要介绍Jav... 目录前言什么是 fetch 方法基本语法简单的 GET 请求示例代码解释发送 POST 请求示例代码解释

Java图片压缩三种高效压缩方案详细解析

《Java图片压缩三种高效压缩方案详细解析》图片压缩通常涉及减少图片的尺寸缩放、调整图片的质量(针对JPEG、PNG等)、使用特定的算法来减少图片的数据量等,:本文主要介绍Java图片压缩三种高效... 目录一、基于OpenCV的智能尺寸压缩技术亮点:适用场景:二、JPEG质量参数压缩关键技术:压缩效果对比

Java调用C++动态库超详细步骤讲解(附源码)

《Java调用C++动态库超详细步骤讲解(附源码)》C语言因其高效和接近硬件的特性,时常会被用在性能要求较高或者需要直接操作硬件的场合,:本文主要介绍Java调用C++动态库的相关资料,文中通过代... 目录一、直接调用C++库第一步:动态库生成(vs2017+qt5.12.10)第二步:Java调用C++

springboot+dubbo实现时间轮算法

《springboot+dubbo实现时间轮算法》时间轮是一种高效利用线程资源进行批量化调度的算法,本文主要介绍了springboot+dubbo实现时间轮算法,文中通过示例代码介绍的非常详细,对大家... 目录前言一、参数说明二、具体实现1、HashedwheelTimer2、createWheel3、n

基于Python打造一个可视化FTP服务器

《基于Python打造一个可视化FTP服务器》在日常办公和团队协作中,文件共享是一个不可或缺的需求,所以本文将使用Python+Tkinter+pyftpdlib开发一款可视化FTP服务器,有需要的小... 目录1. 概述2. 功能介绍3. 如何使用4. 代码解析5. 运行效果6.相关源码7. 总结与展望1

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经

Java利用docx4j+Freemarker生成word文档

《Java利用docx4j+Freemarker生成word文档》这篇文章主要为大家详细介绍了Java如何利用docx4j+Freemarker生成word文档,文中的示例代码讲解详细,感兴趣的小伙伴... 目录技术方案maven依赖创建模板文件实现代码技术方案Java 1.8 + docx4j + Fr