1.2 客户端 (Web客户端,应用程序客户端)

1.2.1 Web客户端:

一般简单讲,就是显示由在Web层的web组件中生成的包含Html 及 XML标记语言的动态Web页面(.jsp[.do])经由用户请求访问从服务器端返回过来的Web页面;

1.2.2 Applet:

Applet是运行在客户端的小应用程序,他基于Java虚拟机才能运行的,一般安装在Web浏览器;他可以嵌入到Web浏览器中,这样当程序是用浏览器来浏览访问的话,客户的机子就需要安装插件(JAVA虚拟机);

1.2.3 应用程序客户端:

应用程序客户端可以提供比Web页面(标记语言)更丰富的用户界面,他也运行于客户端中,但也可以访问EJB的商业逻辑;如果需要求授权,应用程序序也可以通过HTTP访问Web层中的Servlet;

1.3服务器端

1.3.1 Web组件:

Web组件一般包括Servlet组件,JSP组件,Servlet是用于处理用户请求与响应返回的Java语言类,Jsp与Servlet类似,但它可以包括html等静态界面标记语言,jsp通过servlet来响应用户的请求操作。

按J2EE规范,HTML与Applet,以及其他的一些类功能,都不能称为web组件;

Web组件也可以包括enterprise javaBean组件,用于接收用户的请求发送到EJB组件层中商业逻辑中处理;同样的,客户端组件中,也可以包含Enterprise Bean组件,web客户端,appliet, 应用程序客户端都可以直接访问 enterprise bean组件;

1.3.2 业务逻辑组件:

业务逻辑代码代表了与商业领域相对应的逻辑(比如:银行),业务逻辑组件处于 J2EE服务器的 EJB容器上,用于接收从客户传来的请求数据,保存到或从信息层返回给客户;

业务逻辑组件的 Enterprise javaBean(EJB),有三种Bean:

1). Session Beans(会话Bean): 由用户访问业务逻辑层产生的一个临时短暂的会话,但访问完后,Session与数据都将消失;

2). Entity Beans(实话Bean): 一般可称为实体类,按最新的约定,一般为POJO类,他反应与之对应的数据表中一条记录,描述一个数据库表中一条持久稳固的数据实体,实体bean与会话bean相对应,但会话结构,或用户关闭访问连接,数据实体被底层的数据库来存储;
一般用于与数据库操作为hibernate, xBatis

3). Message-Driver Beans(消息驱动bean):结合了session bean和java消息服务(JMS)的信息监听者的功能,它允许商务组件异步访问JMS;

1.4 J2EE容器

任何的J2EE组件在执行都必须装配到应用程序中,并布暑到要应的容器,容器用于管理组件并执行组件,容器是组件以及支持组件的底层平台的特定功能的接口,比如Web组件,就必须先载入Web 容器后才能运行;

装配的过程包括J2EE应用程序的每个组件以及由J2EE应用程序本来定制容器的设置,容器设置定制了由J2EE服务器支持的底层支持,这将包括安全性,事务管理,JAVA命名目录接口(JNDI)搜寻以及远程连接服务等:

J2EE安全模型:J2EE让开发者配置Web组件及Enterprise javaBean使用得只有授权的才能访问: [J2EE安全说明]

J2EE事务模型:指定方法之间的关系以组成一个事务,这样事务内所有方法就组成一个整体![J2EE事务]

JNDI模型:为应用系统中的多种命名目录提供统一的访问接口,使供应商的组件可以访问命名目录服务; [JNDI服务]

J2EE远程连接服务管理客户端与Enterprise javBean之间的底层通迅,使得客户端调用EJB就像直接调用虚拟机上的一样;

J2EE这种可编程式的方式使得同一个的J2EE应用程序组件根据布暑的位置的不同而有所不同,比如Enterprise bean在不同产品中的数据库访问级别!

J2EE容器还管理着包括Sevlets, Enterprise bena的生期财期,数据库连接池以及J2EE APIs中介绍的J2EE平台API等不能配置的服务,虽然数据库持久化不可配置,但允许通过在自己的bean中编写适的代码来实现诸如finder的方法,或数据持久缓冲区的方法来扩展数据库持久化容器的控制!

J2EE的容器有:

1). 应用程序客户端(Application Client)容器:他位于客户中,用于运行应用程序客户端组件;

2). Applet容器:运行客户端中,用于运行applet程序,由位客户端中的浏览器及插件组合;

3). Web容器:位于J2EE服务器中,管理运行JSP与Servlet组件;

4). EJB容器:位于J2EE服务器中,负责管理 Enterprise javabean的运行;

EIS层 (EIS容器)

该层主要是持久化数据的地方,主要存放数据库等第三方组件(构件);

J2EE完全手册(二)的更多相关文章

  1. J2EE进阶(十二)SSH框架整合常见问题汇总(三)

    在挂失用户时,发现userid值为空,但是在前台输入处理账号22时,通过后台输出可以看出,后台根据前端输入在数据库中查询到结果对象并输出该对象的userid,而且Guashi对象也获取到了其值. 解决 ...

  2. J2EE完全手册(一)

    为了使开发者能尽快的开发企业级的应用程序,Sun在1999年推出一种基于J2SE(用于开发桌面应的Java标准版)的开发模型:J2EE,用于开发服务器应用程序与服务的Java企业版,他运行于J2EE服 ...

  3. Protocol Buffer学习教程之语法手册(二)

    1.说明 此向导介绍如何使用protocol buffer language创建一个自己的protocolbuffer文件,包括语法与如何通过“.proto”文件生成数据访问的类,此处只介绍proto ...

  4. CentOS使用手册(二)

    前言: 本篇目录: 1.Linux软件安装调试 2.Linux内存.CPU.进程.端口.硬盘管理 3.Linux systemctl管理服务.防火墙firewalld以及SELinux配置 Linux ...

  5. Linux指令手册 (二)

    free free,显示系统中可用内存和已使用内存的数量. 语法:free [options] [target] 参数: -b: 以字节(bytes)显示内存量: -k: 以千字节(kilo)为单位显 ...

  6. 【以前弄的老东西】DLLspy超犀利后门 (源代码+程序+使用手册+二次开发文档)

    这个玩意儿是很久之前的整的.一直没有做完,但是基本功能和框架都做好了,现在发出来,希望有能力的家伙一起完成.DLLspy,绝对免杀,隐藏,HTTP请求劫持,居家旅行,杀人放火必备良药.有时间我会继续开 ...

  7. soapui中文操作手册(二)----通过您的WSDL请求创建一个测试

      1.通过您的WSDL请求创建一个测试 点击加号旁边的导航拓展项目树的Web服务,并选择请求: 在SoapUI Pro中,所述请求编辑出现在右边.SoapUI Pro有一个编辑器,它简化了XML的层 ...

  8. Oracle DBA 的常用Unix参考手册(二)

    9.AIX下显示CPU数量    # lsdev -C|grep Process|wc -l10.Solaris下显示CPU数量# psrinfo -v|grep "Status of pr ...

  9. Git实战手册(二): 标签应用和版本管理

    教程所示图片使用的是 github 仓库图片,墙内朋友请移步原文地址 有空就来看看个人技术小站, 我一直都在 0. 背景介绍 当一个代码仓库进过长时间的迭代,针对不同的时期和需求,必定会有不同的版本. ...

随机推荐

  1. 人类又被AI碾压,这次是星际争霸

    还记得2017年,那个血洗围棋界的“阿尔法狗”吗?     这个由谷歌旗下 DeepMind 公司开发的 AI ,对阵世界顶尖围棋选手,打出完全碾压式的战绩: AlphaGo vs. 樊麾 - 5 : ...

  2. opencv2 用imwrite 抽取并保存视频图像帧

    最近在写一个车辆检测程序,程序中需要获取图像帧,并保存为图片,且放到指定目录中去,我在网上查了很多发现都是opencv1的有关操作,没有opencv2的操作,我参考网上的例子,结合着用opencv2新 ...

  3. 四则运算app总结

    程序有难度和单项练习,但设计了每次只出5到题,如果做错的话会把错题加入到数据库中,然后通多错题巩固选项可以对错题进行训练. 代码: 普通选项代码: package com.example.szys; ...

  4. 第一个spring,第五天。

    陈志棚:界面跳转与框架 李天麟:游戏界面ui 徐侃:算法代码的设计 经过五天的时间,经过队员的汇报,我们初步已经完成了各项的任务.

  5. Cooperate with Myself

    (一) 第一周的第一批作业们.  且不说一周之内要看完我们的300多页的教材,也不说需要在维基的大批量的文献中海底捞针,单是这个四则运算的生成程序就让我从假期的迷糊状态中幡然觉悟了:哦!惊险刺激的新的 ...

  6. [2017BUAA软工]提问回顾

    原博客链接 原问题1:有没有系统的方法来提高一开始的文档的设计后的质量呢 在之前的OO课程上,我已经深刻领会到了设计的重要性,而且在这次的团队开发中,我也是负责从需求分析到代码设计的转换,所以对设计这 ...

  7. TP3.2加载外部PHPexcel类,实现导入和导出

    TP3.2加载外部PHPexcel类,实现导入和导出 导入: 1.将下载好的PHPexcel文件放到libray/Org/Uti/文件夹下,将PHPEXCEL.PHP改为PHPEXCEL.class. ...

  8. DataGridView列标题居中,内容居中

    //列标题居中 dataGridView1.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleC ...

  9. SVN Update Error: Please execute the 'Cleanup' command

    尝试用下面两种方法 svn clean up 中有一个选项break lock勾选上 把对应的文件来里的.svn里面的lock文件删除. svn local delete, incoming dele ...

  10. ES6学习笔记(三):与迭代相关的新东东

    Symbol 概念 Symbol:一种新的原始数据类型,表示独一无二的值. 注意:Symbol函数的参数只是表示对当前Symbol值的描述,因此相同参数的Symbol函数的返回值是不相等的. // 没 ...