清单7:DemoClient代码清单
1 package com.sample.myProject.client;
2 import com.google.gwt.core.client.EntryPoint;
3 import com.google.gwt.core.client.GWT;
4 import com.google.gwt.user.client.rpc.AsyncCallback;
5 import com.google.gwt.user.client.rpc.ServiceDefTarget;
6 import com.google.gwt.user.client.ui.Button;
7 import com.google.gwt.user.client.ui.ClickListener;
8 import com.google.gwt.user.client.ui.Label;
9 import com.google.gwt.user.client.ui.RootPanel;
10 import com.google.gwt.user.client.ui.Widget;
/**
* This class is used to demostrate hwo to
* interact with the server client in asynchronized
* way
*/
11 public class DemoClient implements EntryPoint {
12 public void onModuleLoad() {
13final SampleServiceAsync sampleService = (SampleServiceAsync)
14 GWT.create(SampleService.class);
15 ServiceDefTarget target = (ServiceDefTarget)sampleService;
16 String staticResponseURL = GWT.getModuleBaseURL();
17 staticResponseURL += "/getStringService";
18 target.setServiceEntryPoint(staticResponseURL);
19
20 final Label label = new Label();
21 final Button button = new Button("Get String");
22 button.addClickListener(new ClickListener() {
23 public void onClick(Widget sender) {
24 sampleService.getString(new AsyncCallback() {
25 public void onSuccess(Object result) {
26 label.setText((String) result);
27 }
28 public void onFailure(Throwable caught) {
29 label.setText(caught.getMessage());
30 }
31 });
32 }
33 });
34 RootPanel.get("1").add(button);
35 RootPanel.get("2").add(label);
36 }
37}
代码的第13行得到了一个实现了接口SampleServiceAsync的类的实例。第15行创建了一个ServiceDefTarget对象的一个实例,通过这个对象可以设置请求的目的地。程序的第18行设置了请求的目的地的URL,在我们的例子中是"/getStringService",这个URL会在web.xml文件中被mapping到servlet SampleServiceImpl上。程序的22行到33行为我们添加的button设置了单击响应事件。在单击响应事件中调用sampleService的getString(AsyncCallback callback);方法。这个方法是用来进行异步的远程过程调用的(RPC).并且在实现接口AsyncCallback的代码中指定了回调函数,当远程过程调用成功后就执行onSuccess(Object result)函数,其中result中存放有从服务器端返回的结果.。在远程工程调用失败后就执行onFailure(Throwable caught)函数。程序的最后把Button组件和Label组件加到panel中。
现在我们已经完成了程序的开发,图八显示了我们程序的运行结果,在点击Button后,右边回打出一句话来,重要的是这句话是以异步的方式从服务器端取得的,不需要进行页面的刷新,怎么样,现在是不是也想用GWT进行Ajax应用开发了呢?
图八:RPC调用示例
总结
本文主要对用 GWT 进行 Ajax 开发进行了比较详细的介绍,并通过与传统的Ajax开发方式进行比较,使读者能更清楚地理解它们之间的区别,最后我们可以看出用GWT进行Ajax开发可以使得程序员免受调试Javascript之苦,并且GWT自动处理了浏览器之间的兼容性问题,这些都会使得开发更加容易,快捷。因此,用GWT进行Ajax开发是一种比较好的方式。希望本文能为读者学习GWT进行Ajax的开发有所帮助。
分享到:
相关推荐
### 面向Java开发人员探索Google Web Toolkit:深度解析与应用 Google Web Toolkit(GWT)是一款由Google推出的开源框架,专为Java开发者设计,旨在简化和加速Web应用程序的开发过程。它允许开发者使用Java语言编写...
"利用 Google Web Toolkit 在 Java 框架中开发 Ajax 应用程序" 这个标题提到了两个关键技术和一个目的。Google Web Toolkit(GWT)是主要工具,它允许开发者使用 Java 语言来编写前端的 AJAX 应用程序。Ajax,即异步...
**Java开发人员的Ajax:Google Web Toolkit (GWT) 入门** Google Web Toolkit (GWT) 是一个强大的工具,它允许Java开发人员使用熟悉的Java语言来构建高性能、跨浏览器的Ajax应用程序。GWT通过将Java代码编译为优化...
《加速GWT:构建企业级Google Web Toolkit应用》是一本深度探讨如何利用Google Web Toolkit(GWT)构建高性能Ajax应用程序的专业书籍。本书作者Vipul Gupta深入解析了GWT的核心功能,以及如何通过GWT生成优化的...
**GWT (Google Web Toolkit)** 是一款由Google开发的开源工具包,专为Java开发者设计,使得他们能够使用Java语言创建高效、动态且交互性强的Ajax应用。GWT通过将Java代码编译成浏览器可执行的JavaScript和HTML,解决...
根据给定的文件信息,以下是对“Google Web Toolkit”(简称GWT)的关键知识点的深入解析: ### 一、Google Web Toolkit(GWT)概述 Google Web Toolkit 是一个开源框架,用于开发和优化复杂的Web应用程序。它允许...
Google Web Toolkit (GWT) 是 Google 推出的一套用于构建高性能、动态Web应用程序的API和工具,专为Java开发者设计。GWT的核心特点是允许开发者几乎完全使用Java编写客户端和服务器端代码,然后通过编译器将Java代码...
Ajax(Asynchronous JavaScript and XML)技术是Web 2.0时代的关键创新,它极...随着技术的发展,Ajax已经成为现代Web开发不可或缺的一部分,为构建富互联网应用(Rich Internet Applications,RIA)提供了强大的支持。
- **AJAX Control Toolkit**:一系列预构建的、可扩展的控件,简化了常见的Ajax任务。 3. **Web 2.0概念** - **用户参与度提升**:Web 2.0强调用户生成内容和互动,Ajax是实现这一目标的关键技术。 - **富互联网...
- GWT (Google Web Toolkit):将Java代码编译为浏览器可执行的JavaScript。 ##### 3.4 解决服务器负载问题 - **Continuation技术**:解决因大量长连接造成的服务器负担问题。通过暂停处理某些请求并在稍后继续执行...
"Framework to use Google Web Toolkit with-开源" 这个标题指出我们要讨论的是一个用于结合Google Web Toolkit(GWT)的开源框架。GWT是一个Java开发框架,它允许开发者用Java语言编写前端Web应用,然后自动转换为...
Ajax领域的库和框架众多,例如Echo、Dojo、DWR、Google Web Toolkit (GWT)等,它们为开发者提供了不同级别的抽象和功能,简化了Ajax应用的开发。然而,选择合适的库和框架往往需要考虑项目的具体需求和团队的技能集...
GWT(Google Web Toolkit)则是一种将Java代码编译为HTML和JavaScript的技术,它允许开发者用熟悉的Java语言来构建复杂的Web应用,同时利用GWT自带的工具链进行优化,确保最终生成的代码体积小、执行效率高。...
4. **GWT(Google Web Toolkit)**:允许用Java编写前端代码,编译成优化的JavaScript。 5. **Spring MVC**:Spring框架的一部分,提供了集成Ajax的解决方案。 **总结** "基于J2EE的Ajax宝典"这本书可能涵盖了如何...