J2EE完全手册(二)
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完全手册(二)的更多相关文章
- J2EE进阶(十二)SSH框架整合常见问题汇总(三)
在挂失用户时,发现userid值为空,但是在前台输入处理账号22时,通过后台输出可以看出,后台根据前端输入在数据库中查询到结果对象并输出该对象的userid,而且Guashi对象也获取到了其值. 解决 ...
- J2EE完全手册(一)
为了使开发者能尽快的开发企业级的应用程序,Sun在1999年推出一种基于J2SE(用于开发桌面应的Java标准版)的开发模型:J2EE,用于开发服务器应用程序与服务的Java企业版,他运行于J2EE服 ...
- Protocol Buffer学习教程之语法手册(二)
1.说明 此向导介绍如何使用protocol buffer language创建一个自己的protocolbuffer文件,包括语法与如何通过“.proto”文件生成数据访问的类,此处只介绍proto ...
- CentOS使用手册(二)
前言: 本篇目录: 1.Linux软件安装调试 2.Linux内存.CPU.进程.端口.硬盘管理 3.Linux systemctl管理服务.防火墙firewalld以及SELinux配置 Linux ...
- Linux指令手册 (二)
free free,显示系统中可用内存和已使用内存的数量. 语法:free [options] [target] 参数: -b: 以字节(bytes)显示内存量: -k: 以千字节(kilo)为单位显 ...
- 【以前弄的老东西】DLLspy超犀利后门 (源代码+程序+使用手册+二次开发文档)
这个玩意儿是很久之前的整的.一直没有做完,但是基本功能和框架都做好了,现在发出来,希望有能力的家伙一起完成.DLLspy,绝对免杀,隐藏,HTTP请求劫持,居家旅行,杀人放火必备良药.有时间我会继续开 ...
- soapui中文操作手册(二)----通过您的WSDL请求创建一个测试
1.通过您的WSDL请求创建一个测试 点击加号旁边的导航拓展项目树的Web服务,并选择请求: 在SoapUI Pro中,所述请求编辑出现在右边.SoapUI Pro有一个编辑器,它简化了XML的层 ...
- Oracle DBA 的常用Unix参考手册(二)
9.AIX下显示CPU数量 # lsdev -C|grep Process|wc -l10.Solaris下显示CPU数量# psrinfo -v|grep "Status of pr ...
- Git实战手册(二): 标签应用和版本管理
教程所示图片使用的是 github 仓库图片,墙内朋友请移步原文地址 有空就来看看个人技术小站, 我一直都在 0. 背景介绍 当一个代码仓库进过长时间的迭代,针对不同的时期和需求,必定会有不同的版本. ...
随机推荐
- 使用unity3d和tensorflow实现基于姿态估计的体感游戏
使用unity3d和tensorflow实现基于姿态估计的体感游戏 前言 之前做姿态识别,梦想着以后可以自己做出一款体感游戏,然而后来才发现too young.但是梦想还是要有的,万一实现了呢.趁着p ...
- thinkphp3.2 批量添加数据
这是我遇到的thinkphp3.2 当中最让我无语的坑 批量添加数据有个方法是 addAll() 这个方法一定要注意数组的键名,一定要整齐!!! 可以在存入数据前,用ksort()方法将数组的键名排序 ...
- Vue 路由详解
Vue 路由详解 对于前端来说,其实浏览器配合超级连接就很好的实现了路由功能.但是对于单页面应用来说,浏览器和超级连接的跳转方式已经不能适用,所以各大框架纷纷给出了单页面应用的解决路由跳转的方案. V ...
- PAT甲题题解-1027. Colors in Mars (20)-水。。。
#include <iostream> #include <cstdio> #include <algorithm> #include <string.h&g ...
- Spring学习总结之装配bean
1. XML中显式配置 规范,文件头: <?xml version=”1.0” encoding=”UTF-8”?> <beans xmlns=http:// ...
- Daily Scrum NO.8
工作概况 今天是周六,虽然由于工作紧张要求这一日也定为工作日,但是也许是因为昨日大家工作做得较多或者周末的缘故,今天的进展状况并不理想.线程池和异常清理器的后端已经完成,而清理器的界面和动态爬取仍旧没 ...
- [2017BUAA软工助教]学期总结
一.表 学号 第0次 week1 week2 week3 个人项目 附加1 结对项目 附加2 a团队得分 a贡献分 b团队得分 b贡献分 阅读作业 提问回顾 总分1 总分2 14011100 8 8 ...
- C语言函数参数传递
1.值传递 void swap(int x,int y) { int temp = x; x = y; y = temp; } void main() { , b = ; swap(a, b); } ...
- WINNER队成立(第二天)
WINNER成立 今天我们主要寻找了两名女生加入到我们的小组当中,她们分别为:李豌湄.江丹仪.有了她们的加入,我们小组可谓如虎添翼啊,嘻嘻.之后我们建立了微信讨论群,经过一番讨论之后,我们决定把小组起 ...
- ns3 myfirst.cc 两个节点点对点通信
首先在ns3.25/examples/tutorial/下找到 first.cc文件,将他拷贝到到scratch目录下. 然后为了方便将代码打出来 /* -*- Mode:C++; c-file-st ...