<Portlet开发指南>第二章
2010-12-13 00:37
447 查看
二、 与servlet规范的关系
Servlet规范中是这样定义的:A servlet is a Java technology based web component, managed by a container, that generates dynamic content. Like other Java-based components, servlets are platform independent Java classes that are compiled to platform neutral bytecode that can be loaded dynamically into and run by a Java enabled web server. Containers, sometimes called servlet engines, are web server extensions that provide servlet functionality. Servlets interact with web clients via a request/response paradigm implemented by the servlet container. |
其实很难说出Portlet与servelt之间的关系,从某个层面说portlet与servlet之间没有任何关系,但是从另一个层面来说又有个千丝万缕的关系,就像马和牛一样,所以这里只是做一些技术上的比较
Portlets与 servlets的相同点:
• 都是基于java技术的web 组件
• 都被专门的容器管理
• 都生成动态内容
• 生命周期都被容器管理
• 都是与web客户端通过request/response的方式交互
Portlets与 servlets的不同点:
• portlet只生成内容片断,portal来负责把这些片断聚集在一个页面中。
• portlet不能直接映射成一个url
• Web 客户端同portlet交互需要通过portal system
• Portlets 有多种request, action requests 和 render requests
• Portlets 定义了 portlet modes and window states
• Portlets可以离开多次在portal 页面
Portlet提供的附加功能但是servlet没有提供
• Portlets 可以持久化存储和访问数据
• Portlets可以访问用户的信息
• Portlets 具有url重写功能,可以让portal来生成访问portlet的链接和action。
• Portlets 可以在session的两个范围中存储数据,application-wide scope 和 the portlet private scope.
• Portlet可以互相接受、发送事件
Portlets 不具备的servlet提供的功能
• 在response中设置字符编码
• 直接通过url访问
Jsr286中新提供的serveResource具有完全的response控制。
就是由于上述的不同,才定义了这个新的web组件规范。Portlet重用了很多servlet中基础的、重要的概念,比如部署方式、类加载、生命周期管理、session管理、request分发。在同一个portlet 应用中的portlet、servlet、jsp共享类加载、应用上下文、session。
Portlet与servlet/jsp中的桥梁 Portlet可以利用servlet、jsp生成内容,一个portlet可以使用request分发调用servlet、jsp,就像一个servlet可以调用servlet、jsp。当一个servlet被portlet调用,servlet的request基于portlet的request,servlet的response基于portlet的response。比如:
• 在portlet中request设置的属性,servlet可以获得。
• Portlet、servlet、jsp共享一个输出流。
• 使在portlet中session设置的属性,servlet可以获得。
用servlet生命周期事件 Portlet中的PortletContext 、PortletSession与servlet中的SevletContext、HttpSession是有关联关系的,所有这对servlet生命周期的listener同样对portlet有效
Servlet容器与portlet容器之间的关系 Portlet的容器是servlet容器的扩展,根据中间件厂商的实现方式portlet容器可以单独实现也可以基于servlet扩展。
相关文章推荐
- <Portlet开发指南>第六章
- <Portlet开发指南>第五章
- <portlet开发指南>地八章
- <portlet开发指南>第七章
- <portlet开发指南>第九章
- Delphia5开发指南->第二章->方法的类型(2010年9月10日星期五)
- <portlet开发指南>第十章
- Portlet开发指南第二章
- <Portlet开发指南>第三章
- <Portlet开发指南>第四章
- <node 开发指南> 小结
- 读书笔记--<精益和敏捷开发大型项目应用指南>
- Android开发-API指南-<application>
- IOS开发中(null)与<null>的处理
- <摘录>详谈高性能UDP服务器的开发
- Delphia5开发指南->第28章(2010年10月08日星期五)
- <2012 11 3 > linux设备驱动程序开发初探(1) 目次 概念 框架 最小驱动程序
- <开发笔记>HLS协议下多源同时切片
- <HTML5程序开发范例宝典(韩旭著)>读书笔记之渐变背景
- 杭州_大数据的<Java/Hbase+C>云平台开发技术