2013-12-21 35 views
0

我使用eclipse/kepler和redhat的jboss插件編寫了一個非常簡單的jboss 7 servlet應用程序。我將戰爭檔案部署到雲端。該simple.jsp頁面使用:Jboss 7 servlet部署:jsp頁面發佈不正確

...這個工程在我的本地運行部署 - 但是,它不是雲(沒有真正的驚喜出現)的環境中工作。所以如果我的應用程序被部署爲:http://simplepaaswebtest.metro-pojo.cloudbees.net/simple.jsp

我使用什麼上下文回發?

回答

1

看看你的表單的HTML源代碼,我可以看到你的表單的action屬性是/ SimplePaasWebTest/SimpleServlet。/SimplePaasWebTest看起來像您爲應用程序本地配置的應用程序上下文路徑,但在CloudBees上運行時,應用程序會分配一個空的上下文路徑,這會更改您需要提交的路徑。如果您將表單提交更改爲/ SimpleServlet,它應該可以正常工作。

Servlet Web應用程序的contextPath定義應用程序將在其下運行的根路徑前綴。當您的應用程序部署到Servlet Web容器中時,您通常會將一個contextPath分配給容器配置中的應用程序,但有時容器將使用該應用程序所運行的目錄或WAR文件的名稱來默認此路徑。

最佳做法是以不需要特定根上下文路徑的方式生成URL路徑。通過使用前綴HttpServletRequest.getContextPath()或使用相對URL構建的完整路徑,即使應用程序的contextPath發生更改,您的應用程序也可以正常工作。

下一步的最佳做法是設置您的本地應用程序環境,以使用與應用程序一起部署的相同上下文路徑,這是一個空的根上下文路徑(通常認爲是/上下文路徑)。

這些鏈接也可能會有所幫助

+0

感謝swashbuk1r。我感謝您的關注/時間。 – plditallo