为什么portlet.xml中没有指定portlet的url映射?与web.xml中的“servlet-mapping”不同? 通过门户控制台进行此操作的必要性是什么?
答案 0 :(得分:1)
portlet背后的原理是它们可以根据门户网站设计者的意愿被删除到门户网站页面上,或者有时根据门户网站用户自己的意愿被删除。如果通过portlet.xml文件中的映射访问了portlet,则每次需要新映射时都必须重新部署portlet应用程序。使用门户控制台可以将portlet放在您创建的任何一个门户网站页面上。
使用portlet-mapping并导航到它也会建议你只能看到那个单一的portlet。某些portlet在页面上协作,因此如果没有在门户页面上一起部署,这些portlet将无法正常运行。
如果直接访问了一个portlet,那么响应的外观和感觉是什么?门户通常与主题一起使用,这些主题控制站点的整体外观并允许站点中的portlet看起来彼此一致。主题通常为您提供标准页眉和页脚等。门户和主题的组合通常也为您提供页面导航,从门户网站中存储的页面构建。
此外,如果允许直接调用portlet,那么您可以绕过Portal Container的安全机制。
作为'且最后',一些Portlet容器实际上做允许您直接针对某些特定用例处理portlet。并且一些Portlet容器在内部将部署的portlet转换为servlet - 这些 do 具有可以直接访问的servlet映射(尽管它们可能会中断,因为它们可能期望portlet容器已经放置了某些属性在servlet请求中。)
所以这不是一个黑白的答案。一般来说,如果你正在开发一个portlet,那么你是这样做的,因为你做希望从一个Portal页面调用你的portlet而你做想要所有的来自在Portal中运行的增值内容。
如果不想要这些东西,那么问题是我的应用程序是否应该使用portlet构建?