使用RequestFactory API進行Spring GWT集成

從GWT 2.4開始,將RequestFactory API與后端的Spring服務集成很容易,您需要做的就是在服務器上創建一個自定義ServiceLocator,GWT將使用它來正確定位被調用的服務:

public class SpringServiceLocator implements ServiceLocator {public Object getInstance(Class clazz) {ApplicationContext context = WebApplicationContextUtils.getWebApplicationContext(RequestFactoryServlet.getThreadLocalServletContext());return context.getBean(clazz);}
}

第二步是像這樣在web.xml上聲明您的RequestFactory servlet,(我假設您已經進行了彈簧設置):

<servlet><servlet-name>requestFactoryServlet</servlet-name><servlet-class>org.gxpenses.util.SpringRequestServlet</servlet-class><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>requestFactoryServlet</servlet-name><url-pattern>/gwtRequest</url-pattern></servlet-mapping>

和GWT一樣,您必須配置代理(因為使用服務風格后端,因此必須使用ValueProxy而不是EntityProxy)和作為服務遠程接口的請求:

//Note that I inherit from the ValueProxy object@ProxyFor(Account.class)public interface AccountProxy extends ValueProxy {public String getId();public void setId(String id);public String getName();public void setName(String name);public Double getBalance();public void setBalance(Double balance);public String getType();public void setType(String type);}//You have to provide you service Impl class, and the ServiceLocator you created//Note that Account is automatically to AccountProxy on the client@Service(value=AccountsServiceImpl.class, locator=SpringServiceLocator.class)public interface AccountRequest extends RequestContext {abstract Request<Void> createNewAccount(AccountProxy account);abstract Request<Void> updateAccountBalance(String accountId, Double transactionAmount, String type);abstract Request<Double> totalAmountByAccountAndPeriodeAndType(String accountId, Date start, Date end, String type);}

集成就是這樣,有關如何使用RequestFactory API的更多信息,請參見: RequestFactory API

參考: Fancy UI博客中的JCG合作伙伴 Idriss Mrabti 使用RequestFactory API進行的Spring GWT集成 。

相關文章 :

  • GWT 2 Spring 3 JPA 2 Hibernate 3.5教程– Eclipse和Maven 2展示
  • GWT 2 Spring 3 JPA 2 Hibernate 3.5教程
  • 建立自己的GWT Spring Maven原型
  • 使用Spring 3.1和基于Java的配置引導Web應用程序,第1部分
  • GWT Spring和Hibernate進入數據網格世界
  • 使用Selenium或WebDriver測試GWT應用
  • GWT,GWT-Ext(SmartGWT),GXT(Ext GWT)常見任務
  • GWT EJB3 Maven JBoss 5.1集成教程
  • SmartGWT入門,提供出色的GWT界面

翻譯自: https://www.javacodegeeks.com/2011/12/spring-gwt-integration-using.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/373948.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/373948.shtml
英文地址,請注明出處:http://en.pswp.cn/news/373948.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C++實例講解Binder通信

binder是android里面的通信機制&#xff0c;這就不說它如何如何好了&#xff0c;Goog已經說過了&#xff0c;這里不多說。binder是一個面向對象的編程方法&#xff0c;大量使用虛函數類。最近研究binder看到一網友寫的&#xff0c;就借鑒一下。這個例子很好的解釋里binder通信關…

2014編程之美初賽第一場

題目1 : 焦距 時間限制:2000ms單點時限:1000ms內存限制:256MB描述 一般來說&#xff0c;我們采用針孔相機模型&#xff0c;也就是認為它用到的是小孔成像原理。 在相機坐標系下&#xff0c;一般來說&#xff0c;我們用到的單位長度&#xff0c;不是“米”這樣的國際單位&#x…

高中python公開課怎么上好_如何上好高中英語公開課

談如何上好高中英語公開課對青年教師來說&#xff0c;開一節公開課&#xff0c;如同完成一次蛻變&#xff0c;累掉一層皮&#xff0c;有著刻骨銘心的陣痛&#xff0c;但換來的是突飛猛進的專業成長。可以說&#xff0c;公開課是青年教師培訓的有效途徑&#xff0c;是名師培養的…

Codeforces Round #261 (Div. 2) - E (459E)

題目連接&#xff1a;http://codeforces.com/contest/459/problem/E 題目大意&#xff1a;給定一張有向圖&#xff0c;無自環無重邊&#xff0c;每條邊有一個邊權&#xff0c;求最長嚴格上升路徑長度。(1≤n&#xff0c;m≤3 *10^5) 初見此題覺得以邊為點&#xff0c;以點為邊&…

回收對象以提高性能

總覽 在上一篇文章中&#xff0c;我說過對象反序列化更快的原因是由于使用了回收對象。 由于兩個原因&#xff0c;這可能令人驚訝&#xff1a;1&#xff09;相信如今創建對象是如此之快&#xff0c;無關緊要或與回收自己一樣快&#xff0c;2&#xff09;默認情況下&#xff0c;…

jquery GET POST

<!DOCTYPE html> <html> <head> <meta charset"UTF-8"> <head> <!--引入百度庫--> <script src"http://libs.baidu.com/jquery/1.10.2/jquery.min.js"> </script> <title></title> <scrip…

C++高精度運算類bign (重載操作符)

大數據操作&#xff0c;有如下問題&#xff1a; 計算&#xff1a;45678913561232654213212314875231656511323132 456789135612326542132123*14875231656511323132 比較&#xff1a;7531479535511335666686565>753147953551451213356666865 ? long long類型存儲不了&…

oj系統格式錯誤_論文查重會不會檢查格式?【paperpp吧】

高等學校一般都會要求大學生在畢業時需要寫作畢業論文&#xff0c;并且會提前發出關于畢業論文的通知&#xff0c;在通知上一般會說明論文寫作的相關要求&#xff0c;其中就會規定論文的相關格式。當然&#xff0c;學校也會在通知中說明論文查重的相關事宜&#xff0c;那么論文…

JavaScript Cookies

相關&#xff1a;jquery-cookie cookie 是存儲于訪問者的計算機中的變量&#xff0c;常用來存儲用戶名字&#xff0c;密碼&#xff0c;日期&#xff0e; 示例&#xff1a; 1 document.cookie"usernameJohn Doe"; 2 document.cookie"usernameJohn Doe; expiresTh…

大數據 -- Hadoop集群搭建

Hadoop集群搭建 1.修改/etc/hosts文件 在每臺linux機器上&#xff0c;sudo vim /etc/hosts 編寫hosts文件。將主機名和ip地址的映射填寫進去。編輯完后&#xff0c;結果如下&#xff1a; 2.配置ssh&#xff0c;實現無密碼登錄 四臺虛擬機上&#xff0c;使用&#xff1a; ssh-ke…

通過示例休眠–第2部分(DetachedCriteria)

所以上次我們幫助正義聯盟有效地管理了他們的超級英雄。 今天&#xff0c;我們集中討論“復仇者聯盟”將如何使用冬眠的“分離標準”找出每個超級英雄的敵人&#xff0c;以保護他們的超級英雄。 您可以從此處下載工作示例。 在此示例中&#xff0c;我們僅考慮兩個實體。 復仇者…

2014編程之美初賽第二場

題目1 : 神奇的數列 時間限制:2000ms單點時限:1000ms內存限制:256MB描述 大神同學是一個熱愛數字的孩子&#xff0c;她無時無刻不在思考生活與數學的聯系。有一天&#xff0c;她發現其實公歷的設計是有講究的。 每4年就會多閏一天&#xff0c;每一百年又會有一年不是閏年&#…

usb大容量存儲設備驅動_usb無法識別怎么辦 如何解決usb識別故障【詳細步驟】...

usb無法識別怎么辦? 隨著計算機硬件飛速發展&#xff0c;外圍設備日益增多&#xff0c;鍵盤、鼠標等早已為人所共知&#xff0c;數碼相機、MP3隨身聽接踵而至&#xff0c;這么多的設備&#xff0c;如何接入個人計算機?USB就是基于這個目的產生的。USB是一個使計算機周邊設備連…

CSDN編程挑戰——《交替字符串》

交替字符串 題目詳情: 如果字符串str3能夠由str1和str2中的字符按順序交替形成&#xff0c;那么稱str3為str1和str2的交替字符串。例如str1"abc"&#xff0c;str2"def"&#xff0c;那么"adbecf", "abcdef", "abdecf", "…

hdu-5834 Magic boy Bi Luo with his excited tree(樹形dp)

題目鏈接&#xff1a; Magic boy Bi Luo with his excited tree Time Limit: 8000/4000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 1037 Accepted Submission(s): 298 Problem DescriptionBi Luo is a magic boy, he also has …

Java EE過去,現在和云7

最近的JavaOne 2011的一個突出主題是下一個主要的Java EE 7版本。 正如主題發言中所述&#xff0c;有關工作正在進行中。 它將包含我們已經從先行者那里知道的28個規范以及一些新規范。 沒人可以告訴您確切的號碼&#xff0c;因為EE 7僅在“及時”完成時才會接受新的規范。 這意…

python cnn識別圖像_笨方法學習CNN圖像識別(一)—— 圖片預處理

— 全文閱讀5分鐘 —在本文中&#xff0c;你將學習到以下內容&#xff1a;通過數據增強增加樣本量調整圖片大小便于網絡訓練前言圖像識別的準備工作就是要對我們拿到手的樣本圖片進行預處理&#xff0c;具體就是數據增強和調整圖片大小&#xff0c;這些準備工作都是為訓練網絡做…

隨機數發生器

很多人喜歡用 rand()%n產生區間 [0,n]內的一個隨機整數。姑且不論這樣產生的整數是否仍然均勻分布&#xff0c;當 n大于 RAND_MAX 時&#xff0c;此法并不能得到期望的結果。由于RAND_MAX 很可能只是32767這么小&#xff0c;在使用此法時應當小心。 #include "stdio.h&quo…

Request和Response詳解

轉自&#xff1a;http://zhidao.baidu.com/link?url8BI0cjlcFdBSJKHTZlpo874eqtbTJoZfrh3miQgM_05RvSER8skPiBc1wSPZtXT8OGGCHfVXFAzAosa6E5HBl_ 內置對象request&#xff1a;請求對象request.getParameter("名字") 獲得客戶端輸入的信息***************request.get…

將Maven與Ivy集成

問題是&#xff1a;您在Ivy存儲庫中&#xff08;只有那里&#xff09;有一些資源&#xff0c;您想在基于Maven的項目中使用這些資源。 可能的解決方案&#xff1a; 由于Ivy可以輕松使用Maven風格的存儲庫&#xff08;因此&#xff0c;您的Ivy客戶端可以繼續使用Ivy并進行一些微…