Portlet开发指南第二章

 
、 与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.

Servetl是居于java技术的web组件,被servlet容器管理,生成动态内容。Servlet通过servlet容器与web客户端展开request、response交互。

其实很难说出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扩展。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值