這個問題是關於一個使用JSP作爲ExtJS控制器的適當架構。ExtJS的JSP後端
我對服務器端開發相當陌生,但我對ExtJS 4非常熟悉,每天都會更好地使用Java和SQL。
我想創建一個JSP控制器到寫來自ExtJS商店的數據。我有服務器上運行的MSSQL數據庫和Tomcat。
我成功創建了一個從數據庫讀取並返回JSON數據的JSP(sqlData.jsp)。我將查詢名稱傳遞給此JSP,然後查詢「查詢」表中的查詢(列:[query_id],[query_name],[query]
)。然後它運行查詢並以JSON格式返回數據 - 這可以很好地從數據庫中獲取數據到ExtJS中。
要使用這個後端建立我通常配置店裏像這樣:
var store = Ext.create('Ext.data.Store', {
model: 'aModel',
proxy: {
type: 'ajax',
url: 'sqlData.jsp?queryName=aQueryName',
reader: 'json'
},
autoLoad: true
});
不知怎的,我需要這個sqlData.jsp還處理來自ExtJS的框架store.save()
電話。這意味着JSP需要接收POST請求,然後根據一堆JSON數據進行更新(ExtJS以GET方式發送讀取請求,而像store.save()
這樣的寫入方法是POST)。
我的計劃是在Java中添加一些東西來識別它是POST還是GET請求。然後,如果它是POST請求,我會將它發送到JSP中的其他Java方法來解析JSON並將其寫入數據庫。
當然,我將不得不改變我的「查詢」表中有更多/插入語句鏈接到相同的查詢名稱(即:[query_id],[query_name],[select_query],[update_query]
)。
這個後端實現是否有意義?
其他人使用JSP和ExtJS來實現這個更流暢嗎?
我注意到有一個api
配置選項,我可以在我的代理中設置爲不同的操作指定不同的URL(READ,WRITE,DELETE等)。我應該創建一個單獨的JSP並使用此配置直接指示所有寫入請求嗎?
在代理上添加一個writer: 'json'
配置,以便它在之前解析是否明智嗎?我想我不得不在JSP中解析它,所以我不認爲我應該這樣做。
任何指針將不勝感激。
我承認我已經做了很多ExtJS工作已經有幾年了(當時我正在考慮回顧問題)......但是這不是應該由各種[Ext.Direct工具包?](http://www.sencha.com/forum/showthread.php?67992-Ext.Direct-Server-side-Stacks)...或者他們不支持將更改推回到服務器? – Joe 2012-01-13 21:54:26
以前從未使用過Ext.Direct。我喜歡它們的外觀,好像它會插入到一個servlet中,檢查出它... – 2012-01-13 22:31:01