现在的位置: 首页 > 综合 > 正文

关于gwt基础

2013年05月22日 ⁄ 综合 ⁄ 共 2355字 ⁄ 字号 评论关闭

如何构建GWT于服务器的数据交互

一:

1: 插件很简单:

     启动WTP eclipse ,首先创建一个动态的web项目如下

然后在src下创建module 如下:

2.使用命令来处理 这里也可以使用eclipse插件来插件都可以

进到gwtmkdir hello;

projectCreator –eclipse hello –out hello

applicationCreator –eclipse hello –out com.coolbuy.client.HelloWorld

即可

二:如何编写

1:>目录如下

2:Hello.gwt.xml中除了要配置java类和html的关联还要配置<servlet>如下:

<module>

<!-- Inherit the core Web Toolkit stuff. -->

<inherits name='com.google.gwt.user.User'/>

<!-- Specify the app entry point class. -->

<entry-point class='com.client.client.Hello'/>

<servlet path="/search" class="com.client.server.SearchServerImpl"/>

</module>

3>Hello.java如下:

package com.client.client;

public class Hello implements EntryPoint {

public void onModuleLoad() {

final TextBox text = new TextBox();

text.setMaxLength(30);

final ListBox list = new ListBox();

final Button bt = new Button("aaa");

final SearchServerAsync se = (SearchServerAsync) GWT

.create(SearchServer.class);

ServiceDefTarget target = (ServiceDefTarget) se;

String url = GWT.getModuleBaseURL();

url += "/search";

target.setServiceEntryPoint(url);

bt.addClickListener(new ClickListener() {

public void onClick(Widget arg0) {

se.getName(new AsyncCallback() {

public void onFailure(Throwable arg0) {

list.addItem("ab", "ttt");

RootPanel.get("text").add(list);

}

public void onSuccess(Object arg0) {

String name[] = (String[]) arg0;

list.addItem("a", name[0]);

RootPanel.get("text").add(list);

}

});

}

});

RootPanel.get("text").add(text);

RootPanel.get("sumbmit").add(bt);

 

}

}

 

3>client下要写2个接口,一个普通的一个异步的

SearchServer.java

package com.client.client;

import com.google.gwt.user.client.rpc.RemoteService;

public interface SearchServer extends RemoteService {

public String[] getName();

}

SearchServerAsync.java

他在上面接口的基础上,将方法返回值改成void,并且在所有的参数后加上AsyncCallBack back 实现异步

package com.client.client;

import com.google.gwt.user.client.rpc.AsyncCallback;

public interface SearchServerAsync {

public void getName(AsyncCallback callback);

}

4>server包中的服务器端如何写:

实现上述普通的接口

继承RemoteServerServlet

import com.client.client.SearchServer;

import com.google.gwt.user.server.rpc.RemoteServiceServlet;

public class SearchServerImpl extends RemoteServiceServlet implements SearchServer{

private static final long serialVersionUID = 1L;

public String[] getName() {

final String[] name = {"java","1120","jast","98","jast","123"};

return name;

}

}

5>WEB服务器中配置请求类型配置servler

<servlet>

<servlet-name>name1</servlet-name>

<servlet-class>

com.server.SearchServerImpl

</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>name1</servlet-name>

<url-pattern>/search</url-pattern>

</servlet-mapping>

抱歉!评论已关闭.