欢迎来到天天文库
浏览记录
ID:19766695
大小:31.50 KB
页数:6页
时间:2018-10-06
《jsr-168 portlet指南(讲述具体实施168规范的实际,高级)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、摘要 JSR-168是适合于portlet开发人员的JavaAPI集合。设计符合规范的JSR-168portlet的原因有很多。可移植性就一个显而易见的好处。根据规范编写的代码更容易在门户服务器之间移动。多数基于Java的门户服务器都支持JSR-168portlet。 另一个好处是更易于联合。当portlet符合JSR-168规范时,通过WebServicesforRemotePortlets(WSRP)生产者公开JSR-168Portlet会更容易一些。WSRP提供了一个通过Webservi
2、ce联合portlet内容的标准。JSR-168和WSRP1.0portlet功能是紧密耦合的。JSR-168toWSRPportlet桥利用JSR-168的URL重写API。本文将阐述开发JSR-168portlet以便获得可移植性的最佳实践。1.总是利用URL重写API,以获得Portlet中的内容 Java开发人员经常在如下所示JSP中编写图像的URL:/images/logo.gif"/> 这在JSR-168
3、portlet中是不正确的。正确的方法是:"/> encodeURL()方法可以采用完全路径URI或者完全限定URL。完全路径URI是最常用的。在使用JSR-168portlet将资源嵌入WebApplicationArchive(WAR)中时,可以使用此技术。在将图像放置到单独服务器上时,可以使用完全限定URL。专门为
4、静态内容提供服务的缓存服务器就是一个示例,它卸掉来自门户服务器的通信量。尽管可以通过对完全限定URL使用encodeURL()来引用portlet以外的内容,但应该只在无法通过客户机访问资源时这样做。如果客户机可以直接浏览资源,则无需对URL使用encodeURL()。例如,如果有一台Web服务器,可用该服务器获得门户用户无法直接浏览的防火墙内的静态内容,则需要调用encodeURL()。如果这些内容在防火墙之外,并且门户用户可以直接浏览到Web服务器,则无需调用encodeURL()。2.不要将
5、路径附加到重写URL中he"governingforthepeople","Nomattertheinterestsofthemasses"conceptunderstandingisnotinplace.Thespecificworktreatswiththedeployment,afewleadingcadrescomplainthatworkistoocomplicated,toomuchresponsibility,thepressureistoolarge,toomuchemphasis
6、onthedifficultyofthework.Forexample,noncoalmine 传入RenderRequest的encodeUrl()方法中的URL在调用该方法之前必须是完整的。在调用该方法之后,无法添加URL的某些部分。例如,如果想从XSLT转换中生成一个URL转换,则不能将已编码的基本URL(http://foo.com/)作为参数传递,并将路径(pages/bar.jsp)附加到该转换中的已编码基本URL中。 以下调用演示了将URL编码到图像中的正确方式:<@=rende
7、rResponse.encodeURL(renderRequest.getContextPath()+"/images/logo.gif")@> 它使用一个.portal文件在BEAWebLogicPortal9.2中生成以下HTML片段:8、5275"/> 以下调用是不正确的。URL并不指向想要的资源。<@=renderResponse.encodeURL(renderRequest.getContextPath()+"/images/")+"logo.gif"@> 它使用.portal文件在WebLogicPortal9.2中生成以下HTML文件:
8、5275"/> 以下调用是不正确的。URL并不指向想要的资源。<@=renderResponse.encodeURL(renderRequest.getContextPath()+"/images/")+"logo.gif"@> 它使用.portal文件在WebLogicPortal9.2中生成以下HTML文件:
此文档下载收益归作者所有