什么是Portlet ?

2023-11-12

什么是Portlet ?

作者:Sunil Patil

译者: observer





版权声明:任何获得Matrix授权的网站,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明
作者:Sunil Patil; observer
原文地址: http://www.onjava.com/pub/a/onjava/2005/10/19/challenging-java-dominance.html
中文地址: http://www.matrix.org.cn/resource/article/44/44029_Portlet.html
关键词: Portlet Java


Portlets
“Portlets是一种Web组件-就像servlets-是专为将合成页面里的内容聚集在一起而设计的。通常请求一个portal页面会引发多个portlets被调用。每个portlet都会生成标记段,并与别的portlets生成的标记段组合在一起嵌入到portal页面的标记内。”(摘自Portlet规范,JSR 168)

本文探讨了以下内容:
1.        Portal页面的元素
2.        Portal是什么?
3.        Portlets是什么?
4.        开发“Hello World” Portlet
5.        在Pluto上部署HelloWorld Portlet
6.        如何创建Portal页面
7.        结束语
8.        资源


  Portlet规范将portlet定义为一种“基于Java技术的web组件,由处理请求和生成动态内容的portlet容器管理”。这段话听起来是不是有些费解?本文将说明portlets是什么以及能用它们做什么。


图1显示了在访问一个portal服务器时浏览器中页面的样子。

image
图1 典型的portal服务器的页面(点击查看原图)

  如果仔细查看浏览器里的页面,就会看到页面是由不同的“窗口”组成的。一个窗口用于刷新天气,另一个用于新闻,还有一个用于刷新股价,等等。这里的每一个窗口都代表了一个portlets。如果看得再仔细些,还会发现每个窗口都有一个标题条和一些按钮,包括最小化和最大化按钮。

  在系统里,这些窗口是相互独立开发、各不同的应用。新闻portlet的开发者创建应用并打包成war格式的文件,随后portal服务器的管理员在服务器上部署该war文件并创建页面,接下来每个用户会选择在他的页面里有哪些应用。例如,如果用户对股价不感兴趣而对体育感兴趣,他可以用“体育”窗口替换“股价”窗口。

  Portlet技术需要学习许多新概念,本文不可能全都涵盖,因此本文分为两部分。在第一部分里我们详细说明portals和portlets,并开发一个简单的“Hello World”portlet;在第二部分我们将探讨一些高级主题。

  我们将用Apache的Pluto服务器(Portlet API 1.0规范的参考实现)来测试我们的示例portlets,我们还会花些时间探讨如何安装和使用Pluto服务器。

Portal页面的元素

图2显示了Portal页面的各种元素。

image
图2 portal页面的元素

  每个portlet页面由一个或多个portlet窗口组成,每个portlet窗口又分为两部分:一个是外观,它决定了portlet窗口的标题条、控制和边界的样式;另一个是portlet段,它由portlet应用填充。

  Portal服务器决定了portal页面的整体观感,像标识、标题条颜色、控制图标等。通过修改几个JSP和css模板文件就可以改变portal的整个观感。我们将在“如何创建portal页面”部分对此做深入讨论。

Portal是什么?

  在了解portlet之前有必要先了解portal。在Portlet规范里是这样讲的:“portal是一种web应用,通常用来提供个性化、单次登录、聚集各个信息源的内容,并作为信息系统表现层的宿主。聚集是指将来自各个信息源的内容集成到一个web页面里的活动”。

  Portal的功能可以分
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

什么是Portlet ? 的相关文章

  • 用于防止滥用的 Servlet 过滤器? (DoS、垃圾邮件等)

    我正在寻找一个 Servlet 过滤器库 它可以帮助我保护我们的 Web 服务免受未经授权的使用和 DDoS 攻击 我们的网络服务有 授权客户 因此理想情况下 过滤器将帮助检测未经授权或行为不当的客户 或检测使用同一帐户的多个人 此外 我们
  • java inputstream 打印控制台内容

    sock new Socket www google com 80 out new BufferedOutputStream sock getOutputStream in new BufferedInputStream sock getI
  • 由 Servlet 容器提供服务的 WebSocket

    上周我研究了 WebSockets 并对如何使用 Java Servlet API 实现服务器端进行了一些思考 我没有花费太多时间 但在使用 Tomcat 进行一些测试时遇到了以下问题 如果不修补容器或至少对 HttpServletResp
  • java ee - 使用 servlet 对用户进行身份验证

    我刚刚开始学习java 还没有接触过java ee 我需要使用 servlet 来验证用户身份 请提供示例代码和技术文献 谢谢你 创建一个接受用户名 密码的 html 表单 将这些数据发布到 servlet 在 doPost 中读取这些数据
  • 如何在 Servlet 中打开弹出窗口,然后重定向页面

    我想在调用 servlet 时打开一个弹出窗口 然后想将 servlet 重定向到某个 jsp page 这就是我所做的 protected void doGet HttpServletRequest request HttpServlet
  • 如何使用 JSESSIONID 手动加载 Java 会话?

    我有一个处理多部分表单帖子的 servlet 该帖子实际上是由嵌入在页面中的 Flash 文件上传组件制作的 在某些浏览器中 Flash 生成的 POST 不包含 JSESSIONID 这使得我无法在发布期间从会话加载某些信息 Flash
  • jsp/servlet 从数组填充下拉框

    大家好 我正在尝试创建一个表单 允许您为某个主题创建一个实验室 它有一个下拉框 您可以在其中选择与该用户相关的主题 但是 当我去加载页面时 我收到此错误g apache jasper JasperException java lang Nu
  • AJAX(原型/java)在执行期间获取部分状态更新

    这部分模仿了AJAX 原型 php 在脚本执行期间获取部分状态更新 https stackoverflow com questions 800997 ajax prototype php getting partial status upd
  • 如何将未知列数的 ResultSet 映射到 List 并将其显示在 HTML 表中?

    我使用 Netbeans GlassFish 和 JavaDB 创建了一个数据库应用程序 现在我的控制器 Servlet 代码执行一些动态 SQL 查询并返回结果集 或者我可以更改 toString 现在 如何以表格格式显示返回的结果集 我
  • 有序 JSON 对象

    我有一个 servlet 它与数据库通信 然后返回有序 按时间排序 对象的列表 在servlet部分 我有 access DB returns a list of User objects ordered ArrayList users M
  • Spring portlet mvc:@Valid 似乎不起作用

    我创建了一个 bean 类并在我的控制器中使用它 但它似乎不起作用 也就是说 即使我输入了无效的年龄 result hasErrors仍然是假的 豆类 public class User Min 13 private int age pri
  • 为 JSP 创建注销链接?

    当用户登录我的应用程序时 他提交一个要通过 Servlet 处理的表单 servlet 为用户创建一个会话 我如何创建一个链接以便用户可以注销 我似乎无法直接链接到 Servlet 如何删除会话并链接回主页 HttpSession sess
  • Web 服务器和 servlet 容器之间的区别

    Web 服务器 和 Servlet 容器 有什么区别 一般来说 所有 Web 服务器也是 Servlet Web 容器 反之亦然吗 我一直在使用 Apache Tomcat for JSP 和 Apache for PHP 但无法弄清楚这两
  • 请求调度概念的包含和转发机制之间的区别?

    Forward 这可以通过 Request 两种方式完成 ServeletContext 将请求从 servlet 转发到另一个资源 servlet JSP 文件或 HTML 文件 在服务器上 转发完成于 服务器端 在客户端不知情的情况下
  • Java 会话变量

    我听说有些人认为在会话中将信息存储在服务器上是一个坏主意 因为它不安全 因此 在多页面业务流程功能中 应用程序将数据写入数据库 然后在需要时检索信息 在会话中存储私人信息是否一定不安全 只要会话本身安全 在会话中存储属性就不存在安全风险劫持
  • 有没有办法测量 Java (Servlet) I/O 流量?

    我尝试做的是使用以下代码实现 servlet 过滤器 int up request getContentLength if HttpServletRequest request getQueryString null up Math max
  • 在 Java Servlet 应用程序中设置 HTTP 201 响应的 Location 标头的正确方法是什么

    考虑以下代码向客户端发送 HTTP 201 已创建 响应 String url app things id 42 example response setStatus HttpServletResponse SC CREATED respo
  • 仅在文件下载完成后设置 cookie。

    我有一个场景 我想告诉用户下载完成并提示关闭按钮 为此 我使用 jquery 插件来连续监视 cookie 以了解下载何时完成 我的问题是我想设置这个cookie fileDownload true and path 下载完成后立即进行 为
  • ServletContext 是每个 Web 应用程序一个还是每个 JVM 一个?

    这是我提出的一个疑问 ServletContext 是每个 Web 应用程序一个 每个 JVM 一个 但是如果我在同一个 JVM 上运行多个 Web 应用程序 然后每个 JVM 有 2 个 ServletContext 是否可以 有人可以详
  • Liferay ClassNotFoundException:DLFileEntryImpl

    在我的 6 1 0 Portal 实例上 带有使用 ServiceBuilder 和 DL Api 的 6 1 0 SDK Portlet 这一行 DynamicQuery query DynamicQueryFactoryUtil for

随机推荐

  • 浅拷贝和深拷贝: copy模块的copy()和deepcopy()函数(*^▽^*)

    我们在平时处理列表和字典的时候 有时候希望创建一个列表或者字典的副本拿出来使用 但是同时我们也不希望列表 字典 和其列表 字典 副本还保留着某种联系的时候 比如说我们在修改列表的时候副本也跟着同步被修改了 这是我们最不想看到的情况 这种情况
  • 树莓派教程 - 1.2 树莓派GPIO库wiringPi 软件PWM

    Git例程源码仓库 https github com ZhiliangMa raspberry git 使用到的硬件 led 200 左右的电阻 杜邦线 上一节使用硬件PWM来控制led亮度 可树莓派的硬件PWM引脚只有1路 在实际应用中
  • php生成密码及密码检验

    1 生成密码 password hash test password PASSWORD DEFAULT 2 密码检验 hash 2y 10 ckeTXO nnKfWTDDYRSwGWu0xste 55Cp0RIpolBldDOXZ61ecZ
  • vscode同时编辑多处文字 批量替换编辑内容

    先按Ctrl F打开搜索框 然后搜索要编辑的内容 接着按Ctrl Shift L就可以选中对应的所有内容了 然后可以全部编辑和替换了 按了Ctrl shift L之后把搜索框关闭就可以同时编辑多处了 此处我就是搜索items
  • NLP 中 Bilstm-attentio的使用

    NLP 中 Bilstm attentio的使用 bilstm attention 理解 bilstm attention的作用 bilstm attention 编码实现 bilstm attention 理解 bilstm attent
  • java中的运算符

    java中常见的运算符 1 public static void q1 int a 5 0000 0101 int b 3 0000 0011 a b 0000 00111 二进制两个都为0的时候 结果是0 否则是1 System out
  • qt中lable中更改字体字号加粗等

    以下内容摘抄博客 https blog csdn net superbfly article details 53199731 utm medium distribute pc relevant none task blog BlogCom
  • 音频驱动篇之pop音攻略

    接触音频驱动工作也有2年的时间了 这这段时间里深刻感受了手机行业的更新换代是MB的迅速 2年的时间里 从TI到QUALCOMM 从android2 1到4 2 从单核到四核 经我参与的项目就有20款 日子是相当的难过 今天回头来说一些我在研
  • CentOS 使用nc命令进行端口扫描

    目录 CentOS 6 中nc命令的使用 CentOS 7 中nc命令的使用 使用nc命令可以探测目标主机的端口 但是在Centos 6 和 CentOS 7中这个命令的使用有所不同 甚至可以说功能已经不同 下面分别是CentOS 6 和
  • gitee密码修改后,pycharm权限不够提醒(windows10)

    问题 gitee密码修改后 pycharm更新代权限不够提醒 windows10 解决办法 gitee密码修改后 要在windows中同时进行修改 步骤如下 具体如图 控制面板 gt 所有控制面板项 gt 凭据管理器 gt Windows凭
  • vue 学习相关笔记大全

    与三阶段无关 框架是什么 封装与业务 功能 无关的代码块 简化了我们对于某些功能的代码量 但是我们需要记一套当前框架的语法 淘宝镜像 npm的服务器在国外 咱们国内下载的时候很慢 淘宝就自建了一个服务器 每个10分钟 就把npm的服务器里面
  • 这是一份面向3年以上Android开发者的中高级面试宝典,拔剑金九银十,大厂直通车

    前言 这是 拔剑金九银十 的第二篇文章 本文主要针对3年以上的Android开发者进阶面试中高级开发工程师而整理 三年以下小伙伴请移步 这是一份面向0 3年Android开发者的面试宝典 2020一线互联网大厂面试真题系统收录 希望可以对你
  • Arthur系统性详解微服务-完善中

    第一篇 微服务的意义 1 常见架构对比 第二篇 微服务的构建 1 微服务建模关注点及方法论 1 1 服务分类 1 2 服务模型 1 3 服务边界 1 4 服务数据 2 服务拆分和集成 2 1 服务拆分及方法论 2 1 1 服务拆分的维度 策
  • 配置环境说明

    工具及环境介绍 Eclipse 是一个开放源代码的 基于Java的可扩展开发平台 就其本身而言 它只是一个框架和一组服务 用于通过插件组件构建开发环境 Tomcat是一个应用服务器 他可以运行按照J2EE中的Servlet规范编写好的Jav
  • mysql数据库常用命令

    1 显示当前数据库服务器中的数据库列表 mysql gt show databases 2 创建数据库 mysql gt create database item character set utf8mb4 3 创建用户 mysql gt
  • unity3d 摄像机跟随角色时被物体遮挡解决方案

    unity3d 摄像机跟随角色时被物体遮挡解决方案 未被遮挡时 为了解决这个问题 在这里我们需要用到 Physics RaycastAll 使用方法详见圣典 首先 我们引入命名空间 System Collections Generic 然后
  • 电压电流双环控制PI参数计算01

    1 截止频率 将内环看作一个采样环节 对外环给定信号进行采样 同理驱动电路对内环给定信号进行采样 为保持环路稳定 外环截止频率 lt 内环截止频率 lt 开关频率 通常内环截止频率一般设置为开关频率的1 10 外环截止频率一般设置为开关频率
  • 内部排序算法比较(超详解)

    一 题目描述 通过随机数据比较各排序算法的关键字比较次数和关键字移动次数 以 及执行时间 取得直观感受 二 设计要求 一 需求分析 实现各排序算法 分别进行以下各组比较 并进行总结 一 各算法在不同规模下的比较 1 比较范围 直接插入排序
  • 辗转相除法求最大公约数 C/C++

    文章目录 辗转相除法的概念 用递归实现 用循环实现 辗转相除法的概念 辗转相除法是用来求两个正整数最大公约数的算法 古希腊数学家欧几里得在其著作 The Elements 中最早描述了这种算法 所以又被命名为欧几里得算法 扩展欧几里得算法可
  • 什么是Portlet ?

    什么是Portlet 作者 Sunil Patil 译者 observer 版权声明 任何获得Matrix授权的网站 转载时请务必以超链接形式标明文章原始出处和作者信息及本声明 作者 Sunil Patil observer 原文地址 ht