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. 背景介绍 当一个代码仓库进过长时间的迭代,针对不同的时期和需求,必定会有不同的版本. ...
随机推荐
- es6箭头函数使用场景导致的一些问题
1. 今天在使用draggable组件时,监听dragmove事件时获取到的事件对象有一些异常, 代码如下 draggable.on('drag:move', (event) => { cons ...
- PAT甲题题解-1111. Online Map (30)-PAT甲级真题(模板题,两次Dijkstra,同时记下最短路径)
题意:给了图,以及s和t,让你求s到t花费的最短路程.最短时间,以及输出对应的路径. 对于最短路程,如果路程一样,输出时间最少的. 对于最短时间,如果时间一样,输出节点数最少的. 如果最短路程 ...
- PAT甲题题解-1112. Stucked Keyboard (20)-(map应用)
题意:给定一个k,键盘里有些键盘卡住了,按一次会打出k次,要求找出可能的坏键,按发现的顺序输出,并且输出正确的字符串顺序. map<char,int>用来标记一个键是否为坏键,一开始的时候 ...
- Beta阶段对团队成员公开感谢
我感谢付佳对我的帮助,因为Beta阶段她承担了一名组长责任,每次代码编写,安排任务都由她带头来做,并且在代码方面帮助我解决了一些问题.
- 《linux内核分析》第六周:分析fork函数对应的系统调用处理过程
一. 阅读理解task_struct数据结构http://codelab.shiyanlou.com/xref/linux-3.18.6/include/linux/sched.h#1235: 进程是 ...
- SDN开源项目以及组织机构
SDN开源项目以及组织机构 以上内容均摘自网络 如有侵权,请转告笔者,立即删除 两大组织 ONF (Open Networking Foundation) Google.Facebook.Micros ...
- AD分辨率和精度区别
最近做了一块板子,当然考虑到元器件的选型了,由于指标中要求精度比较高,所以对于AD的选型很慎重.很多人对于精度和分辨率的概念不清楚,这里我做一下总结,希望大家不要混淆.我们搞电子开发的,经常跟“精度” ...
- 12th final 发布评价 I
1. 约跑App——nice!:这次使用了摄像进行讲解,相比于上次能够更准确地向大家讲解,整体效果更好了,而且很好地针对同学提出的bug进行修改,能够在并不是很熟悉的领域做到这个程度已经很不容易了, ...
- 解决sublime text3下中文无法输入的问题(Ubuntu)
sublime-text-imfix,非常无脑.就喜欢这样的.
- python自动化之调试
#####调试 #####查看日志与断言 ''' 抛出异常使用raise语句.在代码中,raise语句包含以下部分: (1)raise关键字; (2)对Exception函数的调用; (3)传递给Ex ...