gxt、gwt与spring结合使用
本文参考了yongyuan.jiang列子和网上一些有关文章。
这几天开始研究GXT与Spring结合,不在乎两种方式:
1、使用第三方类库:gwt-widgets-server
2、写一个继承自com.google.gwt.user.server.rpc.RemoteServiceServlet的servlet,结合spring复写其中的一些方法。
第一种方法,我没有试,我觉得第二种方法实现起来更简单,不依赖于任务第三方类库。我实践了第二种方式,把其中的过程式写下来,供大家参考学习,大家如果有什么更好的结合方式,也请多多指教。
一、建立项目工程
建立java project,这个比较简单,大家都会,在此略过。
二、实现RemoteServiceServlet,复写其的相关方法
MyGWTServer 代码:
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>springgxt</display-name>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:spring/*.xml</param-value>
</context-param>
<listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>MyGWTServer</servlet-name><servlet-class>org.sundoctor.caculator.server.MyGWTServer</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyGWTServer</servlet-name>
<url-pattern>*.gwt</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>Caculator.html</welcome-file>
</welcome-file-list>
</web-app>
MyGWTServerTest java代码:
<inherits name="com.google.gwt.user.User"/>
<inherits name="com.extjs.gxt.ui.GXT"/>
<entry-point path="/calculatorService.gwt"/>
<servlet path="/others.gwt"/>
</module>
三、业务类实现
业务接口代码:
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="calculatorService" class="java">ServiceDefTarget endpoint = (ServiceDefTarget) calculator;endpoint.setServiceEntryPoint(CustomerService.Util.getModuleRelativeURL());
这两行代码的操作是多余的,按GWT的AIP参考文档对@RemoteServiceRelativePath的解释是,加上这个标注后,CustomerServiceAsync 的serviceEntryPoint是可以自动设定的。 2 楼 wiipsp 2010-01-29 请问如果在serviceImpl端调用 request怎么调用呢 客户端又怎么调用? 用了MyGWTServer后 是不是就只能在MyGWTServer里用request了? 希望楼主能解答··· 谢谢·····