网站大量收购闲置独家精品文档,联系QQ:2885784924

Portlet应用开发(JSR168)Part5.doc

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Portlet应用开发(JSR168)Part5

Portlet 应用开发, Part 5 Portlet 的 Session对象 By Terry.li SpiritSeekerS@ 本系列前一部分阐述了Portlet的Request和Response对象,本部分继续讲解Portlet中Session对象.及其与Servlet中Session对象的不同点. Portlet Session中存取对象的作用范围 (Scope) Servlet中的Session属性和Portlet中的Session属性有一个非常大的不同点, 由于Portlet处于Portal中的缘故, Portlet的Session分为两 1. Application Scope 2. Portlet Scope 这两者的区别在于: 1) Application Scope类型的PortletSession中保存的对象对于同一个Portlet Application中的所有其它Portlet来说是可以被访问到的. 2) Portlet Scope类型的PortletSession中保存的对象对于同一个Portlet Application中的所有其它Portlet来说是不可见的. 但对于Portlet Application来说,其实它也是个Web Application , 因此不论是Application Scope也好,或者是Portlet Scope也好,同样都属于HttpSession,因此都可以通过HttpSession 来访问. 实际上Application Scope的Session就是HttpSession , 而Portlet Scope的Session 由于不可被其他Portlet访问, 它的session属性名称有它独特的存取方式, 如下: javax.portlet.p.ID?ATTRIBUTE_NAME 其中ID是Portal/Portlet-Container生成用来唯一确定一个Portlet. Portlet Scope 的Session 使用以上的Attribute Name 用以存取Session上绑定的属性. 我们所设制的Portlet Scope 的Session属性由Portlet容器自动转化成以上格式. 用以保证不被其它的Portlet访问到. 注: 以javax.portlet开头的Session属性名称是保留的,不可以用于Portlet的Session 属性名称. Case study: 不同Scope Session的比较 以下我们将编码实现两个Portlet, 其中一个用来创建session属性的Portlet 和另一个用来验证session属性作用范围的Portlet. 用以验证Session属性的正确性. Portlet (PortletSessionExample1_GenerateSesssion.java) … … public void processAction(ActionRequest request,ActionResponse response) throws PortletException,IOException{ String action=request.getParameter(ACTION); if(action.equals(ApplicationScope)){ PortletSession ps=request.getPortletSession(); ps.setAttribute(PortletSession.AS,action,PortletSession.APPLICATION_SCOPE); }else{ PortletSession ps=request.getPortletSession(); ps.setAttribute(PortletSession.PS,action,PortletSession.PORTLET_SCOPE); } } … … 以上代码片段根据不同参数分别产生不同Scope的PortletSession 的属性 , 作用范围分别为Application 和 Portlet. Portlet (PortletSessionExample1_DisplaySession.java) 这个Portlet调用一个JSP (jspShowSession.jsp) 来获得Portlet session和HttpSession, 并且示出来. JSP(view_portletsession1_generatesession.jsp) 这个JSP将创建两个ActionURL

文档评论(0)

ligennv1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档