2011-12-19 180 views
0

我是一個新的Web開發人員,他正在努力使用Eclipse來設置本地開發環境。我的目標是最終將我的想法變成一個很酷的網站,可以託管在64MB私有JVM Tomcat 6服務器上(here)。設置JSF2環境

我嘗試了一切,我可以持續4天閱讀一堆教程網站,並提出了一個可以下載的Eclipse項目。 download

我對整合這麼多框架感到不知所措(之前我不是一個開源代碼的人),我覺得我被卡住了。以下是我的一些問題。

  1. 爲什麼當我運行上面的本地機器上的Tomcat 6服務器上的項目,我有一個訪問它的「http://本地主機/ RichFaces的-的tomcat6 /」我希望能夠以「http訪問它://本地主機/納摩/」。因爲「Namo」將成爲我的網站名稱。
  2. 「http://localhost/richfaces-tomcat6/index.xhtml」怎麼沒有顯示inputText?
  3. 爲什麼我不能使用託管bean的「@Named」註解?相反,我必須使用「@ManagedBean」。我讀了一些@ManagedBean真正用於遺留系統的地方。這很重要嗎?
  4. 我想在JSF 2中編寫代碼,並在網站上添加一些Ajax功能。我閱讀了一些Richfaces的用處。我甚至在正確的軌道上設置這些?

我知道我在問很多問題。我很願意在本地設置一些東西併爲JSF打好書,但我甚至無法開始使用它,這非常令人沮喪。如果有人能幫助我或指導我走向正確的方向,我將非常感激。

+0

未來,請在單獨的問題中提出個別問題。 – BalusC 2011-12-19 12:53:00

回答

1

何當我運行在本地機器上的Tomcat 6服務器上的項目上方時,我必須使用「http:// localhost/richfaces-tomcat6 /」來訪問它,我希望能夠通過「http:// localhost/Namo /」。因爲「Namo」將成爲我的網站名稱。

上下文路徑默認爲Eclipse項目名稱。您應該在Eclipse項目創建嚮導的最後一個步驟中編輯了上下文路徑。您可以隨後在項目屬性的Web項目設置部分中進行編輯(右鍵單擊項目並選擇屬性)。


怎麼來的 「http://localhost/richfaces-tomcat6/index.xhtml」 沒有顯示在所有的inputText?

Apparenty請求的URL未在FacesServlet的URL的模式作爲web.xml definied匹配。給定的URL期望它被映射在*.xhtml<url-pattern>上。 Eclipse默認爲/faces/*和/或*.jsf,並要求您通過http://localhost/richfaces-tomcat6/faces/index.xhtmlhttp://localhost/richfaces-tomcat6/index.jsf打開頁面。但將FacesServlet映射到*.xhtml要好得多。


爲什麼我不能用 「@Named」 註釋的託管bean?相反,我必須使用「@ManagedBean」。我讀了一些@ManagedBean真正用於遺留系統的地方。這很重要嗎?

@Named註釋是CDI的部件,它是的Java EE 6的Tomcat的一部分但是簡單的JSP/Servlet容器和不完全成熟的Java EE容器。如果你想在Tomcat上使用它,你可能需要自己安裝CDI,或者用更完善的Java EE容器(比如Glassfish 3或JBoss AS)替換Tomcat。另請參閱Weld documentation(Weld是CDI參考實現的代號)。請注意,您不一定需要需要 CDI才能讓JSF運行。對於簡單的Web應用程序,使用@ManagedBean應該足夠了。


我試圖代碼JSF 2位的Ajax的功能在網站上。我閱讀了一些Richfaces的用處。我甚至在正確的軌道上設置這些?

JSF2已經支持Ajax與<f:ajax>標籤的框。 RichFaces只是一個組件庫,在standard component set之上提供more enhanced components and skinnability support。另見Communication in JSF 2.0

0

你有嚴重的內存限制,所以我最好還是建議看輕量級模板引擎,如速度的Freemarker爲您的網頁和MVC框架,如Struts的/Struts 2的Spring MVC的