?
Ce document utilise Manuel du site Web PHP chinois Libérer
Spring Portlet MVC應(yīng)用的部署過程和JSR-168 Portlet應(yīng)用的一樣。然而, 這部分內(nèi)容常常使人感到困惑,所以值得在這里簡單地介紹一下。
通常情況下,portal/portlet容器在servlet容器的某個(gè)Web應(yīng)用中運(yùn)行,
你的Portlet運(yùn)行在servlet容器的另一個(gè)Web應(yīng)用里。為了使得Portlet容器能夠調(diào)用
Portlet應(yīng)用,Portlet容器必須對一個(gè)顯式的Servlet進(jìn)行跨Context的調(diào)用,那個(gè)Servlet
提供了對在 portlet.xml
定義的Portlet服務(wù)的訪問支持。
JSR-168規(guī)范對這方面沒有規(guī)定,所以每個(gè)Portlet容器都有自己的機(jī)制,通常 會(huì)引入一些“布署時(shí)的處理”來改變Portlet應(yīng)用并且把Portlet注冊到Portlet容器里。
至少,在Portlet應(yīng)用中 web.xml
文件需要通過修改來注入
Portlet容器會(huì)顯式調(diào)用的Servlet。有時(shí)候,單個(gè)Servlet實(shí)例對Web應(yīng)用中的所有
Portlet提供支持,有時(shí)候,對于每個(gè)Portlet需要一個(gè)Servlet實(shí)例。
有些Portlet容器也會(huì)在Web應(yīng)用中注入類庫或者配置文件。Portlet容器需要實(shí)現(xiàn)Portlet JSP Tab庫以供使用。
最重要的是理解你選擇的portal對Portlet布署的要求,并且確保滿足它們 (通常是按照它提供的自動(dòng)布署程序)。仔細(xì)閱讀portal這方面的文檔。
在你布署完P(guān)ortlet后,檢查 web.xml
。有些老的portal
會(huì)破壞 ViewRendererServlet
的定義,破壞你的Portlet顯示。