portal、portlet、portlet容器三个概念
Portlet规范中是这样定义portal的:
A portal is a web based application that –commonly- provides personalization, authentication,, content aggregation from different sources and hosts the presentation layer of Information Systems.
|
A portal is a web based application that –commonly- provides personalization, authentication,, content aggregation from different sources and hosts the presentation layer of Information Systems. |
Portal是一个基于web的提供个性化、登录授权、从不同的数据源聚集内容基于展现层的信息系统。具体到J2EE领域,portal大多数情况是一个符合J2EE标准的ear包工程。
什么是portlet
规范中式这样定义portlet的:
A portlet is an application that provides a specific piece of content (information or service) to be included as part of a portal page. It is managed by a portlet container, that processes requests and generates dynamic content
|
A portlet is an application that provides a specific piece of content (information or service) to be included as part of a portal page. It is managed by a portlet container, that processes requests and generates dynamic content |
一个Portlet是一个基于java技术的被portlet容器管理的web组建,它可以处理requests、生成动态的内容输出,一个portlet负责提供portal 页面中的某个特定部位的展现内容。
与servlet同样,portlet的生命周期是被portlet容器来管理的。Portlet生成的内容也可以称作fragment,这些多个portlet生成的多个fragment会被portal聚集(aggregate)在一起展现。不同用户看到的portlet可能不同,这依赖于不同用户对使用portlet的配置。
什么是portlet容器
规范中式这样定义portlet容器的
A portlet container runs portlets and provides them with the required runtime environment. A portlet container contains portlets and manages their lifecycle. It also provides persistent storage for portlet preferences. A portlet container receives requests from the portal to execute requests on the portlets hosted by it.
|
A portlet container runs portlets and provides them with the required runtime environment. A portlet container contains portlets and manages their lifecycle. It also provides persistent storage for portlet preferences. A portlet container receives requests from the portal to execute requests on the portlets hosted by it. |
Portlet容器提供portlet生命周期环境,管理portlet的生命周期,还提供portlet preferences的持久化支持,portlet从portal接受请求,然后分发给运行其上的portlet。
Portlet不负责聚集portlet生成的内容,这是portal责任。根据中间件厂商的实现方式portlet容器与portal可以放在一个application中实现,也可以放在两个不同的application中实现。
三者关系
下面是以一个用户使用web客户端来与portal交互的用力,描述portlet、portlet容器、portal三者关系、责任:
1.web客户端通过http 来对portal发起request请求
2.request请求被portal就收到
3.portal分析这个请求是否需要与portlet进行交互
4.如果需要,则portal通知portlet容器调用portlet处理交互
5.Portal通过portlet容器得到portlet返回的fragments
6.Portal聚集portlet产生的fragments,生成最终的页面,返回给web客户端
portal、portlet、portlet容器三个概念的更多相关文章
- 浅谈学习C++时用到的【封装继承多态】三个概念
封装继承多态这三个概念不是C++特有的,而是所有OOP具有的特性. 由于C++语言支持这三个特性,所以学习C++时不可避免的要理解这些概念. 而在大部分C++教材中这些概念是作为铺垫,接下来就花大部分 ...
- Java编码浅析(注意区分三个概念)(转)
编码: (1)外部资源的字符集-----没有读入jvm中的数据都是外部资源 (2)jvm中数据的字符集-----都是unicode (1)和(2)之间发生交互时,如果不指定编码,则使用JVM平台默认字 ...
- UWP 多语言的三个概念
首先了解一下 RFC4646 和 BCP-47 是什么东西: RFC4646 The name is a combination of an ISO 639 two-letter lowercase ...
- 正确理解java编译时,运行时以及构建时这三个概念
Java中的许多对象(一般都是具有父子类关系的父类对象)在运行时都会出现两种类型:编译时类型和运行时类型,例如:Person person = new Student();这行代码将会生成一个pers ...
- "阿拉伯""伊斯兰""穆斯林"三个概念怎么分?
伊斯兰.阿拉伯.穆斯林这三个概念到底有什么不同?要言君将用五分钟给您概述这三个概念,并厘清其边界,说明其交集,帮您迅速构建"阿拉伯.伊斯兰.穆斯林"知识结构概图.相信您得沉思一下费 ...
- 区分 JVM 内存结构、 Java 内存模型 以及 Java 对象模型 三个概念
本文由 简悦 SimpRead 转码, 原文地址 https://www.toutiao.com/i6732361325244056072/ 作者:Hollis 来源:公众号Hollis Java 作 ...
- conda中重要的三个概念:环境、通道和包
基本使用conda必须要了解的三个概念:虚拟环境.通道和包. conda提供了在python环境下重要的编程环境管理功能,包括环境隔离和依赖包管理. 环境隔离通过虚拟环境实现,与此相关的命令有: co ...
- Linux从头学11:理解了这三个概念,才能彻底理解任务管理和任务切换
作 者:道哥,10+年的嵌入式开发老兵. 公众号:[IOT物联网小镇],专注于:C/C++.Linux操作系统.应用程序设计.物联网.单片机和嵌入式开发等领域. 公众号回复[书籍],获取 Linux. ...
- Docker容器(三)
一.创建容器 容器是Docker另一个核心的概念,简单来说,容器是镜像的一个运行实例,所不同的是,镜像是静态的只读文件,而容器带有运行时需要的可写文件层 1.1. 新建容器 使用docker crea ...
随机推荐
- MyBatis5:MyBatis集成Spring事务管理(上篇)
前言 有些日子没写博客了,主要原因一个是工作,另一个就是健身,因为我们不仅需要努力工作,也需要有健康的身体嘛. 那有看LZ博客的网友朋友们放心,LZ博客还是会继续保持更新,只是最近两三个月LZ写博客相 ...
- C语言局部变量和全局变量问题汇总
1.局部变量能否和全局变量重名? 答:能,局部会屏蔽全局.要用全局变量,需要使用"::" 局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变 ...
- javascript 获取下一个节点
下一个节点: nextElementSibling 上一个节点 previousElementSibling <div> <select onchange="alert(t ...
- Spark技术内幕:Client,Master和Worker 通信源码解析
http://blog.csdn.net/anzhsoft/article/details/30802603 Spark的Cluster Manager可以有几种部署模式: Standlone Mes ...
- 关于.NET编译的目标平台(AnyCPU,x86,x64)
转载:http://blog.sina.com.cn/s/blog_78b94aa301014i8r.html 今天有项目的代码收到客户的反馈,要求所有的EXE工程的目标平台全部指定成x86,而所有D ...
- SQLSERVER2000以上 Ad Hoc Distributed Queries的启用与关闭
SQLSERVER2000以上的版本在查询分析器中查询ACCESS数据时提示:“ 訊息 15281,層級 16,狀態 1,行 1SQL Server 已封鎖元件 'Ad Hoc Distributed ...
- glassfish 日志输出配置
asadmin set-log-levels javax.enterprise.system.tools.deployment=WARNING
- Asp.net基础知识
1.[项目结构] 1.1文件后缀: .cs 源文件(程序代码) .csproj 项目文件(管理文件项) .sln 解决方案文件(管理项目) .config ...
- php ticks 调试应用
declare(ticks=1); register_tick_function('do_profile'); register_shutdown_function('show_profile'); ...
- Objective-C 学习笔记(Day 2)
------------------------------------------- 如何根据题目准确完整清晰的声明一个类并实现给定的行为 /* //下面这个程序教大家如何根据题目去声明一个类,并 ...