集成 Spring 和 GWT(配置文件)

Posted

技术标签:

【中文标题】集成 Spring 和 GWT(配置文件)【英文标题】:integrating Spring and GWT (configuration files) 【发布时间】:2011-03-02 17:22:13 【问题描述】:

我不知道如何设置 web.xml、myproject.gwt.xml 和 spring-servlet.xml 以集成 gwt 和 spring 框架。 我正在关注这个链接,我遇到了这个问题integrating gwt and spring

这是 myproject.gwt.xml

<module rename-to='ZzSampleGWT204Project'>
  <inherits name='com.google.gwt.user.User'/>
  <inherits name='com.google.gwt.user.theme.standard.Standard'/>
  <entry-point class='de.mxro.zz.zzsamplegwt204project.client.ZzSampleGWT204Project'/>
  <servlet path='/myService' class='de.mxro.zz.zzsamplegwt204project.server.MyServiceImpl'/>
  <source path='client'/>
  <source path='shared'/>
</module>

这是我的 web.xml 文件`

<!-- Servlets -->
<servlet>
    <servlet-name>spring</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet>
    <servlet-name>myService</servlet-name>
    <servlet-class>de.mxro.zz.zzsamplegwt204project.server.MyServiceImpl</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>spring</servlet-name>
    <url-pattern>/ZzSampleGWT204Project/*</url-pattern>
</servlet-mapping>

</web-app>

这是我上面定义的 spring-servelet 的 spring-servelt.xml 文件。

<beans>
    <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
    <property name="urlMap">
        <map>
            <entry key="myService">
                <ref bean="ServiceController"/>
            </entry>
        </map>
    </property>
</bean>

<bean id="ServiceController" class="de.mxro.zz.zzsamplegwt204project.server.ServletWrappingController">
<property name="servletName" value="myService"/>
<property name="servletInstance"><ref bean="myService"/>
</property>
</bean>

<bean id="myService" class="de.mxro.zz.zzsamplegwt204project.server.MyServiceImpl">
</bean>

`

这是 onModuleLoad 方法

public void onModuleLoad() 
final Label label = new Label("this is a label");
final MyServiceAsync svc = (MyServiceAsync)GWT.create(de.mxro.zz.zzsamplegwt204project.client.MyService.class);
ServiceDefTarget endpoint = (ServiceDefTarget) svc;
endpoint.setServiceEntryPoint("services/myService");

final AsyncCallback callback = new AsyncCallback() 
    public void onSuccess(Object result) 
        label.setText(result.toString());
    
    public void onFailure(Throwable ex) 
        label.setText(ex.toString());
    
;

Button button = new Button("Click ME", new ClickHandler() 
    public void onClick(ClickEvent arg0) 
        svc.myMethod("Do Something", callback);
    
);
RootPanel.get(null).add(button);

请告诉我我哪里错了?

如果有人能给我提供一个非常简单的项目来展示如何将 gwt 和 spring(MVC、安全)集成在一起,我会很高兴。

感谢巴哈多尔·比格拉里

【问题讨论】:

【参考方案1】:

考虑到您没有提供堆栈跟踪,我假设您无法让模块执行任何操作?您应该确保您正在处理的任何 html 文件都已实际将 GWT 模块加载到页面中:

<script type="text/javascript" language="javascript" src="stockwatcher/stockwatcher.nocache.js"></script>

另外,如果您还没有使用 Eclipse,那么您应该考虑使用 Eclipse。 Eclipse 使调试、编译和修改 Java GWT 代码变得更加容易。

看看这个教程至少让 GWT 应用程序本身工作:

http://code.google.com/webtoolkit/doc/1.6/tutorial/create.html

【讨论】:

我认为问题出在 servlet 配置上,这就是我将配置文件附加到它的原因,我也使用 eclipse。

以上是关于集成 Spring 和 GWT(配置文件)的主要内容,如果未能解决你的问题,请参考以下文章

带有配置文件的 Spring 集成测试

spring集成RabbitMQ配置文件详解(生产者和消费者)

spring 集成 mybatis 和 redis 的配置文件

spring 集成 mybatis 和 redis 的配置文件

spring 集成 mybatis 和 redis 的配置文件

spring 集成 mybatis 和 redis 的配置文件