2013-02-08 22 views
0

我打算做一個網站,它有GWT作爲管理界面,JSF 2作爲前端和Spring來處理業務邏輯。架構java gwt + jsf2 + spring包裝

基本上。我將有3個項目:

  1. GWT
  2. 彈簧(這也可能會在未來出口某些Web服務業務邏輯)
  3. JSF 2

在GWT我打算有春天上下文(來自dependend spring-project)並使用它連接到數據庫?

  1. 這是可能的在eclipse中創建3個項目,引用他們的依賴關係,然後創建一個包含所有這些的EAR?
  2. 用戶會話會發生什麼?存儲在GWT和JSF 2中?
  3. 這是一個很好的建築嗎?怎麼能做到這點呢?
  4. 如何打包這些?所有的戰爭檔案?或罐子?在一個耳朵...或?

回答

0

我會回答我的問題,因爲我將給予更多的細節,將想做的事情我做同樣的事情在未來的傢伙:

在Eclipse:

  1. 創建新的Java EE應用normaly與3或者你想多少模塊
  2. 添加新的GWT項目
  3. 現有的GWT項目添加到Java EE描述符(在耳待補)
  4. 在項目構建你建議立即進行刪除d具有這樣的: enter image description here
  5. 一次編譯GWT Apllication: enter image description here
  6. 後你glassfish訪問鉻在此URL部署應用程序的網站:http://localhost:8080/Admin/?gwt.codesvr=127.0.0.1:9997

你需要知道什麼:

  • Servlets熱部署
  • 您在servle上做的任何修改TS將改變服務器的一部分
  • 你GWT應用程序做任何修改google chrome插件會照顧它

我的環境:

  • JDK 1.7.0_11
  • Eclipse 4.2 Java EE+ GWT Plugin+ Spring plugin
  • Glassfish 3.1.2.2
1

首先爲什麼要將兩種不同的客戶端技術結合在一起使用(JSF2GWT)? 我寧願堅持其中之一。

說:是的,可以有3個不同的項目。其實推薦的方法(至少GWTSpring或任何其他後端)是讓他們在單獨的項目。

這是可能在eclipse中創建3個項目,請參考 依賴項他們然後創建一個包含所有這些的EAR?

至少在GWT中,你通常不能直接訪問後端/數據庫(不確定JSF2)。你必須使用某種通信協議的(RequestBuilderRequestFactoryGWT-RPCREST) 可以有共同的類(在包xxx.shared),其可以通過兩者的GWT和您的Spring應用程序引用(即,通常使用由GWT-RPCRequestFactory

用戶會話會發生什麼?存儲在GWT和JSF 2中?

用戶會話沒有什麼特別之處。 GWT和JSF通過HTTP請求與後端進行通信。因此,適用於普通HTTP請求的相同內容也適用於GWT/JSF2請求。

這是一個很好的建築嗎?怎麼能做到這點呢?

這取決於你想達到什麼。如前所述,我寧願堅持一種客戶端技術(GWTJSF2),而不是同時使用它們。

如何打包這些?所有的戰爭檔案?或罐子?在一個耳朵...或?

GWT編譯到您的主機文件中包含的JavaScript。 因此,您通常會創建一個WAREAR將文件部署到應用程序服務器。

+0

嗨,我想寫我的管理界面在GWT和客戶端(匿名用戶訪問)在JSF 2 ...你不覺得這是一個好方法? – Alex 2013-02-11 11:58:21

+1

你爲什麼想這樣做?您在使用兩種不同的客戶端技術時會看到哪種好處? 爲什麼不把** **或GWT或JSF2都(管理員和匿名視圖)? 使用兩種不同的客戶端技術只會增加另一層複雜性,您需要了解另一個系統。我會用你最舒服的一切。 – 2013-02-11 12:01:08

+0

好吧..我想在管理中的ajax上的一切...我想刷新客戶端爬蟲......這樣谷歌可以索引我的網站...使用GWT我不認爲我的網站將被索引。 .. 我對麼? – Alex 2013-02-11 12:05:48