正在学习Portal中,总的来说,Portlet的概念比较简单,由于有Servlet的背景理解Portlet没有什么问题。但是由此展开的Portal的学习,(正在看的是JetSpeed2的实现。)涉及到的东西太多了。每天都有不太理解的地方。所以一点一点的的记录下来,然后验证吧。
第一个问题:如果根据Porlet规范,你会怎么实现一个Porlet容器呢?
1)Porlet是什么?Portal是什么?
规范中定义。【JavaPortaletSpecification1.0】
A portal is a web based application that –commonly- provides personalization, single sign on, content aggregation from different sources and hosts the presentation layer of
Information Systems. Aggregation is the action of integrating content from different sources within a web page. A portal may have sophisticated personalization features to provide customized content to users. Portal pages may have different set of portlets creating content for different users.
A portlet is a Java technology based web component, managed by a portlet container, that
processes requests and generates dynamic content. Portlets are used by portals as
pluggable user interface components that provide a presentation layer to Information
Systems.
The content generated by a portlet is also called a fragment. A fragment is a piece of
markup (e.g. HTML, XHTML, WML) adhering to certain rules and can be aggregated
with other fragments to form a complete document. The content of a portlet is normally
aggregated with the content of other portlets to form the portal page. The lifecycle of a
portlet is managed by the portlet container.
Web clients interact with portlets via a request/response paradigm implemented by the
portal
看到这里基本有了理解,就是Portal和Portlet 都是Web应用的概念。Portal是个特定的Web应用,有特定的功能要求,例如个性化,SSO等,而且组合Portlet提供页面内容。
最后还说了基于Request/Response的处理方式,和Servlet挺象的,看看还有什么。
2)参考Servlet
规范 【Relationship With Servlet Specification。】一章详细的介绍了相同与不同的地方。
接下来几个概念:
PortalContainer:管理Portlet的容器和管理Servlet的Tomcat功能相近
Portal 应用:一个有定制而成的Web应用。包括规范定义的基本功能。SSO portlet的组合等等。
Portlet:最简单的功能模块。和Servlet功能相近。
3)Portal的基本想法
Portlet的实现由规范定义。对于开发人员是好事,但是Portal的开发是没有规范定义的。如果要实现的话要怎么做呢?
规范提到的基本功能需求:
- Portlet的内容Aggration和显示
- Portlet的管理
- 导航
- SSO
- 个性化
- 安全相关
- 布局和画面Skin,Themes
- 其他。。。。
这里有很多的事情要做,而且这个Web应用本身又要实现一个Request/Response方式来处理Porlet。
所以肯定是从一个标准的Web应用的Servlet开始,进行处理一步一步的对功能进行分解,最终调用指定的Porlet。
从Servlet规范到Porlet规范,有很多要考虑的东西,比如:
Servlet利用的是URL对象,Portlet规范中有PortletURL。
用户访问一个Web应用通过URL把特定的信息传送到特定的Servlet。
不会传送到Porlet。所以必须提供一种方式把表示特定Portlet的PortletURL进行传递。
规范中定义的特定的JSPTag<actionURL><renderURL>,通过这个把特定的PortletURL信息写回到客户端,然后客户端在通过URL把这些信息传递上来。 Portal分析这些信息,找到指定的Portlet进行相应的调用。
具体怎么做呢?
4)看代码吧!
分享到:
相关推荐
**JETSPEED-2 的 PORTAL BRIDGE** Jetspeed2 提供了多种Portal Bridge,使得不同框架的应用能够无缝集成。例如: 1. **集成 STRUTS MVC 模式开发的应用程序**:通过Struts Portlet Bridge,可以将基于Struts的Web...
Jetspeed是Apache组织开发的一个...Apache开源组织的企业门户项目,现有两个版本:jetspeed1与jetspeed2。由于jetspeed1在设计上的“缺陷”,现在已经升级到jetspeed2。目前大陆还没有成功使用jetspeed2开发的案例。
maven-jetspeed2-plugin-2.0.jar
1. **Jetspeed2简介** Jetspeed2是Apache软件基金会下的一个项目,它遵循JSR-168(portlet规范1.0)和JSR-286(portlet规范2.0),提供了一个标准的portlet运行环境。Jetspeed2的核心功能包括portlet管理、个性化、...
通过深入研究上述知识点,并结合portlet-1_0-fr-spec.pdf文档和www.pudn.com.txt中的资源,开发者可以有效地掌握Java Portal和Jetspeed Portal的开发技能,创建出高效、可扩展且满足用户需求的门户应用。
1. **portlet容器**:Jetspeed 2提供了portlet容器,它能够管理和执行portlet,为开发者提供了portlet生命周期管理的基础设施。 2. **个性化与权限管理**:支持用户个人化设置,每个用户可以根据自己的需求定制门户...
jetspeed-api-2.0的lib包
这里我们主要探讨两个版本:Jetspeed 1 和 Jetspeed 2。 **Jetspeed 1** Jetspeed 1 是早期版本,基于JSR-168(Portlet 规范1.0)标准,提供了portlet 的开发和部署框架。这个版本的核心特性包括: 1. **portlet ...
3. 下载Jetspeed-2 2.2.0 Installer,可以从Apache官方站点获取。 4. 获取portlet容器和插件,包括`com.sun.server.os.portlet.container_1.0.0.jar`和`com.sun.jsr168.portlet.plugin_1.0.0.jar`,这些组件可以在...
Jetspeed是一款开源的企业级Portal系统,它提供了丰富的功能和高度可定制性,旨在构建和集成企业内部...同时,源代码分析也帮助开发者更好地理解和利用Jetspeed提供的各种API和工具,以便于扩展和优化Portal解决方案。
这个文件需要用户自行创建,不过为了方便,提供了一个示例文件:`jetspeed-mvn-settings-sample.xml`。这个样本文件预设了使用Derby数据库的配置,如果你打算使用Derby,你可能只需要修改数据库的位置和部署的目标...
通过对jetspeed2样式的开发文档进行深入分析,我们可以了解到jetspeed2样式的开发不仅需要掌握基本的前端技术如Velocity和CSS,还需要熟悉jetspeed2框架本身的特点。布局样式的开发涉及到多个文件的配置与编写,而...
### Jetspeed安装与Portlet开发知识点详解 ... - **Jetspeed-2 2.2.0 Installer**:从官网下载安装包,链接为[http://apache.etoak.com/portals/jetspeed-2/binaries/jetspeed-installer-demo-2.2.0.jar]...
-DarchetypeGroupId=org.apache.portals.jetspeed-2 \ -DarchetypeArtifactId=jetspeed-archetype \ -DarchetypeVersion=2.2.1 \ -DartifactId=jetexpress ``` 2. **优势**:使用Maven的Archetype可以清晰地区...
Jetspeed2 是一个开源的企业门户框架,它提供了丰富的功能,包括安全管理、内容管理、个性化以及portlet集成。本文档是Jetspeed2 Deployer Guide的中文翻译,旨在帮助初学者理解如何部署和配置Jetspeed2的安全机制。...
这个压缩包包含了关于Jetspeed的重要中文文档,包括“Jetspeed2之安装配置.doc”、“Jetspeed2总结.docx”以及“JetSpeed2开发文档的中文翻译.pdf”,这些文档对于理解和使用Jetspeed2具有极高的价值。 首先,我们...
**JetSpeed-2的PORTAL BRIDGE** PORTAL BRIDGE是JetSpeed2.0的一个关键特性,它允许集成各种类型的Web应用程序,如基于STRUTS MVC模式、WEBWORK、JSP甚至是非Java的PERL和PHP应用。通过PORTAL BRIDGE,这些应用程序...
- **步骤1**: 将下载的安装包放置于指定目录(例如`C:\download`),假设安装包命名为`jetspeed-installer-demo-2.2.0.zip`或`jetspeed-installer-demo-2.2.0.jar`。 - **步骤2**: 打开命令提示符窗口,切换到...