JavaEE读书笔记

读《Java Platform, Enterprise Edition: Your First Cup: An Introduction to the Java EE Platform(https://docs.oracle.com/javaee/7/firstcup/)》的笔记。

准备看《JavaEE7 tutorial (https://docs.oracle.com/javaee/7/tutorial/)》

企业级应用:Java EE平台的设计目的是帮助程序员创建 大规模的、多层的、可扩展的、可靠的、安全的 网络应用程序。这种应用程序被称之为“企业级应用程序”,之所以这么叫是因为这种应用程序是用来解决大型企业才能遇到的问题的。

分层应用程序:在一个多层应用程序中,一个应用程序的功能被切分成多个独立的功能区,这些功能区叫做层。

多层应用程序的组成:通常情况下,一个多层的应用程序包含一个客户端层、一个中间层、一个数据层(这个数据层通常被叫做企业信息系统层)。中间层一般分为web层和业务逻辑层。

三层的配合关系是这样的:客户端层的客户程序向中间层发出请求,中间层处理客户端的请求,同时处理应用程序的数据,把应用程序的数据永久地存放在数据层上。

web服务:web服务和web应用是不一样的东西。目前Java领域的web服务有两种:

JAX-RS:Java API for RESTful Web Services

JAX-WS: Java API for XML   Web Services

下图展示了web应用(企业级应用)和web服务的关系:

三层应用程序的部署:一般客户端层是一个浏览器或者一个独立的应用程序,他们运行在一个单独的机器上;中间层包括web层和业务逻辑层,他们运行在一个单独的机器上;数据层又称为企业信息系统层,一般运行在一个单独的机器上。

重点介绍一个数据层:数据层又叫企业信息系统层。企业信息系统层一般是由数据库服务器,或者企业资源计划系统,或者传统的数据源,比如大型主机(mainframe)。

Java EE服务器:Java EE服务器是一个服务器应用程序,这个应用程序实现了Java EE 平台的API,并且提供标准的Java EE服务。Java EE服务器有时候被称为应用服务器,因为应用程序服务器提供应用数据给客户端,就好像web服务器提供web页面给web浏览器一样。

Java EE服务器包含几种应用组件,这几种应用组件和多层应用程序的各层相对应。Java EE服务器通过容器这种形式为各种应用组件提供服务。

Java EE服务器中的容器:容器是Java EE服务器提供的支持应用组件的基础功能和应用组件之间的接口。容器的功能是由服务器平台来定义的,并且对不同的应用组件有不同的容器。尽管如此,应用服务器还是容许不同的应用组件在同一个企业级应用中共同工作来对客户端提供服务。

特别要说明的几种容器:web容器、EJB容器、应用客户端容器。

web容器是web组件和web服务器之间的接口。web组件可能是servlet或者jsf。web容器负责管理web组件的生命周期,分发请求到应用组件,为上下文数据提供接口,比如当前请求的信息。

EJB容器:EJB容器是enterprise bean之间的接口,EJB是用来提供业务逻辑的。EJB容器运行在Java EE服务器上。

应用客户端容器:application client容器是Java EE应用程序客户端和Java EE服务器之间的接口。应用客户端容器运行在客户端机器上,它是客户应用程序和客户端应用程序使用的Java EE服务器组件的接口。

时间: 2024-08-05 02:40:00

JavaEE读书笔记的相关文章

[读书笔记] 一、Spring boot项目搭建与配置文件

读书笔记:[JavaEE开发的颠覆者 Spring Boot实战] 作者:汪云飞 从今天开始坚持读书,并记录下此读书笔记. 一,初接触 Spring boot 项目Hello world搭建 1.pom.xml 配置如下: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocat

【java读书笔记】——java开篇宏观把控 + HelloWorld

学完java有一段时间了,一直没有做相应的总结,总觉得有一种缺憾.从这篇博客开始,将自己平时的学习笔记进行总结归纳,分享给大家. 这篇博客主要简单的介绍一下java的基础知识,主要的目的是扫盲.原来只是听说过java,现在自己真正开始学习了,看完了第一集视频之后,问自己,你知道java是什么吗?问完之后才发现一无所知,上完查一查,简单了解一下,给自己扫盲. 介绍 知道java是一种可跨平台应用软件的面向对象的程序设计语言,就可以了. 组成 Java由四方面组成:java编程语言,java类文件格

《C#图解教程》读书笔记之三:方法

本篇已收录至<C#图解教程>读书笔记目录贴,点击访问该目录可获取更多内容. 一.方法那些事儿 (1)方法的结构:方法头-指定方法的特征,方法体-可执行代码的语句序列: (2)方法的调用:参数.值参数.引用参数.输出参数.参数数组: ①参数: 形参-本地变量,声明在参数列表中:形参的值在代码开始之前被初始化: 实参-实参的值用于初始化形参: ②值参数: 为形参在栈上分配内存,将实参的值复制到形参: ③引用参数: 不为形参在栈上分配内存,形参的参数名作为实参变量的别名指向同一位置,必须使用ref关

《C#图解教程》读书笔记之五:委托和事件

本篇已收录至<C#图解教程>读书笔记目录贴,点击访问该目录可获取更多内容. 一.委托初窥:一个拥有方法的对象 (1)本质:持有一个或多个方法的对象:委托和典型的对象不同,执行委托实际上是执行它所"持有"的方法.如果从C++的角度来理解委托,可以将其理解为一个类型安全的.面向对象的函数指针. (2)如何使用委托? ①声明委托类型(delegate关键字) ②使用该委托类型声明一个委托变量 ③为委托类型增加方法 ④调用委托执行方法 (3)委托的恒定性: 组合委托.为委托+=增加

《Effective C++》读书笔记汇总

我之前边读<Effective C++>边写下每个条款的读书笔记,这一版是C++11之前的版本.这里我将每个条款令我印象深刻的点小结一下. 1.C++包括:Plain C(面向过程).OOP(面向对象).模板(泛型和模板元编程).STL(C++标准库). 2.用inline.enum.const代替#define.#define定义的宏,一旦复杂起来,高手都很难掌控.不要带入C的习惯. 3.灵活使用const前缀.不需要进行改变的数据加上const前缀.指针的const前缀有两种形式,cons

【读书笔记】《Linux内核设计与实现》内核同步介绍&内核同步方法

简要做个笔记,以备忘. 需同步的原因是,我们并发访问了共享资源.我们将访问或操作共享资源的代码段称"临界区",如果两个执行线程处于同一临界区中同时执行,称"竞争条件".这里术语执行线程指任何正在执行的代码实例,如一个在内核执行的进程.一个中断处理程序或一个内核线程. 举个简单例子,i++操作.该操作可以转换为下面的机器指令序列: 1.得到当前变量i的值,并保存到一个寄存器. 2.将寄存器的值加1. 3.将i的新值写回到内存中. 当两个线程同时进入这个临界区,若i初值

鸟哥的Linux私房菜 基础学习篇读书笔记(7):Linux文件与目录管理

这一章主要讲述的是如何操作与管理Linux系统中的文件和目录,主要包括目录间的切换,目录的创建与删除,文件的创建与删除,文件的查找,文件内容的查看等等. 前一章中已经讲过相对路径以及绝对路径,绝对路径就是指从根目录("/")开始写起的路径名,而相对路径绝不会由根目录开始写起,相反,相对路径是相对于当前工作目录的路径名.Linux操作系统中有几个特殊的目录: . 代表此层目录: .. 代表上一层目录: - 代表前一个工作目录: ~ 代表当前用户身份所在的主文件夹: ~account 代表

《30天自制操作系统》读书笔记(2)hello, world

让系统跑起来 要写一个操作系统,我们首先要有一个储存系统的介质,原版书似乎是06年出版的,可惜那时候没有电脑,没想到作者用的还是软盘,现在的电脑谁有软驱?不得已我使用一张128M的SD卡来代替,而事实上你用的是U盘还是软盘对我们的操作系统没有影响,缺点是你的U盘刷入系统后容量只能是1440 MB,即当年流行的3.5英寸软盘的大小,当然不用担心,再格式化一次(用DiskGeniu),就可以恢复. 我做事情的话,总是怕自己的努力的结果白费了,害怕辛辛苦苦看完这本书但是发现做出来的东西现在根本没法用,

《巴菲特与索罗斯的投资习惯》读书笔记

巴菲特与索罗斯的投资习惯 收益与风险 收益越高风险越大,或者风险越大收益越高都是没有道理的,风险和收益逻辑上不一定是正相关的,只不过收益越高,人们愿意承担的风险越高而已. 降低风险的同时提高收益是不矛盾的.但风险控制应优先于收益. 同样的事情,对你来说是危险的,但对于高手来说则没有风险,因此,为了降低风险,尽力成为高手吧 关于投资 赚钱只是投资的目的而已,投资策略才是投资的手段. 只是将注意力集中在目的上是没有意义的,因为它只是你的手段所产生的自然结果. 因此我们需要把注意力几种在对投资策略的调