集成Spring和GWT(配置文件)

时间:2011-03-02 17:22:14

标签: web-applications gwt spring-mvc gwt-rpc

我不知道如何设置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,Security)整合在一起,我会很高兴。

感谢Bahador Biglari

1 个答案:

答案 0 :(得分:0)

我认为你不能让模块做任何事情,考虑到你没有提供堆栈跟踪?您应该确保您正在使用的任何HTML文件,您实际上已将GWT模块加载到页面中:

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

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

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

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