2009-11-25 71 views
1

我很想用Gwt和App Engine構建一個應用程序。我更熟悉App Engine:使用servlet和jsp創建動態html頁面。不過,我想知道,如果這種類型的應用程序技術屬於GWT?gwt和動態服務器處理。他們是否在一起?

我可以預見到的兩個例子是登錄和數據庫檢索。

對於用戶登錄,我目前的方法很簡單:在servlet的開始處,檢查用戶對象是否存在。如果是,則顯示該頁面。如果沒有,請重定向到Google的登錄服務。這個模型如何適合GWT?在我看來,GWT編譯成你放在服務器上的靜態html/javascript/css文件。通過這種方法,在服務靜態頁面之前(因爲任何用戶都可以繞過servlet並直接輸入靜態頁面url),似乎不可能執行任何服務器處理來檢查vlid用戶。

另一個示例將顯示來自應用程序引擎數據存儲區的數據。如果我想創建一個表,其中每行是從數據存儲的條目,我會動態地創建一個servlet中的HTML,並在那裏做我的數據存儲訪問等等。看來與GWT我將不得不服務一個容器的HTML頁面,然後使用ajax在事實之後加載數據庫內容?

也許GWT不適合我的應用類型,或者我只是關於Web應用程序開發的錯誤方式。一些澄清將不勝感激。

回答

1

在了簡化的意義上,典型的GWT應用程序會像這樣:

  1. 用戶瀏覽到您的網頁。他們的瀏覽器使用一個靜態url來下載運行你的應用所需的所有javascript,css和圖片。

  2. 從現在開始,每次用戶按下按鈕或以其他方式與頁面交互時,都會通過AJAX調用檢索數據。因此,他們可能會在登錄前下載您的應用程序,但您的所有安全敏感數據只能通過ajax調用返回,讓您有機會驗證自己的身份(Cookie,用戶/密碼等)

這基本上就是您在第二個示例中描述的有關從數據存儲加載數據的描述。這聽起來像你認爲這是不好的,但你不知道爲什麼。

+0

感謝您的回覆,我現在同意我理解這個框架好一點。對於任何其他人閱讀本文並按照與我以前相同的思路思考,我的主要誤解是GWT通過javascript工作。我的意思是,你可以擁有任何你想要的html資源,並在稍後用GWT包裝它。這意味着,你仍然可以動態地製作你的html頁面(例如通過jsp),然後在客戶端用GWT javascript包裝它們。 – 2009-11-28 00:16:10

相關問題