GWT默认请求方式采用RPC
(remote procedure call).在GWT当中有三种请求方式RPC、Form、RequestBuilder.
Form表单形式
[可参考google代码]:
客户端调用:
//设置请求地址(url action)
formPanel.setAction(GWT.getModuleBaseURL() + "myFormHandler");
//form模式(文件上传、普通模式)
formPanel.setEncoding(FormPanel.ENCODING_URLENCODED);
//请求方式(POST、GET)
formPanel.setMethod(FormPanel.METHOD_GET);
//验证:请求之前判断参数是否为空等操作
formPanel.addSubmitHandler(new FormPanel.SubmitHandler() {
@Override
public void onSubmit(SubmitEvent event) {
if (box.getText().trim().equals("")) {
Window.alert("请输入");
//撤销form.submit()
event.cancel();
}
}
});
//完成:与服务器交互完成后的提示
formPanel.addSubmitCompleteHandler(new FormPanel.SubmitCompleteHandler() {
public void onSubmitComplete(SubmitCompleteEvent event) {
Window.alert(event.getResults());
}
});
提交:
final Button button = new Button("form test");
button.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
//form提交
formPanel.submit();
}
});
简单servlet后台处理:
package org.server;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class MyServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
resp.setContentType("text/plain;charset=UTF-8");
resp.getWriter().write(req.getParameter("textbox"));
}
}
GWT配置:
<?xml version="1.0" encoding="UTF-8"?>
<module rename-to='formpanel'>
<inherits name='com.google.gwt.user.User' />
<inherits name='com.google.gwt.user.theme.standard.Standard' />
<entry-point class='org.client.Formpanel' />
<source path='client' />
<source path='shared' />
<servlet class="org.server.MyServlet" path="/myFormHandler" />
</module>
web.xml配置
<servlet>
<servlet-name>myServlet</servlet-name>
<servlet-class>org.server.MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>myServlet</servlet-name>
<url-pattern>/formpanel/myFormHandler</url-pattern>
</servlet-mapping>
RPC方式
[参考google例子]:需要两个接口一个实现类。
@RemoteServiceRelativePath("greet")//访问路径
public interface GreetingService extends RemoteService {
String greetServer(String name) throws IllegalArgumentException;
}
public interface GreetingServiceAsync {
void greetServer(String input, AsyncCallback<String> callback)
throws IllegalArgumentException;
}
@SuppressWarnings("serial")
public class GreetingServiceImpl extends RemoteServiceServlet implements
GreetingService {
public String greetServer(String input) throws IllegalArgumentException {
return input;
}
}
//创建形式:
EmployeeServiceAsync employeeService = GWT.create(EmployeeService.class);
//调用形式
employeeService.saveOrUpdateEmployee(employeeId, employeeName, employeeSurname, employeeJobTitle,
new AsyncCallback<Void>() {}
RequestBuilder方式后面再介绍.
分享到:
相关推荐
5. **与Struts2.0交互**:为了让Gwt与Struts2.0通信,我们需要定义Action类,处理Gwt发送的请求,并返回JSON或XML数据。在Struts2的配置文件中,定义这些Action的映射。在Gwt端,使用GWT-RPC或RequestBuilder来发起...
总结来说,"Ext + GWT + Struts2.0"的开发模式允许你利用ExtJS的强大UI组件库,GWT的远程服务调用机制,以及Struts2.0的MVC架构,创建一个完整的、高性能的Web应用。这种组合提供了从用户交互、数据处理到服务器端...
### GWT与Web 2.0应用开发 #### 核心知识点概述 本书《Pro Web 2.0 Application Development with GWT》由Jeff Dwyer撰写,深入探讨了使用Google Web Toolkit (GWT)进行Web 2.0应用程序开发的专业技术和最佳实践。...
此外,GWT还提供了一系列丰富的用户界面组件和工具,使得开发高质量的Web 2.0应用变得简单而高效。 ### GWT下载与安装 #### 下载步骤 - 访问官方下载页面:[http://code.google.com/webtoolkit/]...
GWT-WebSockets作为一个包装器,为GWT应用提供了一种方便的方式来利用WebSockets技术,而无需直接处理底层的WebSocket API,这通常会涉及到复杂的JavaScript和网络编程。 在标签 "开源项目" 中,我们可以推断出这个...
3. **开源许可证**:这两个项目都是开源的,这意味着它们遵循特定的开源许可协议,如Apache 2.0或MIT,允许用户自由地使用、修改和分发代码。 4. **Git分支管理**:"common-jawr-master"表明这是Jawr项目在Git版本...
在Java环境中,Ajax可以通过诸如Apache Trinidad、DWR(Direct Web Remoting)或Google Web Toolkit (GWT)等库来实现。这些工具允许Java开发者在服务器端使用Java编写业务逻辑,并将结果以Ajax方式传递到客户端。 4...
GWT,全称为Google Web Toolkit,是Google推出的一款用于构建高效、跨平台的Web2.0应用程序的开源框架。GWT的核心技术在于它提供了一个编译器,能够将Java代码转换为JavaScript,使得开发者可以使用Java语言来编写...
书中可能详细解释了Ajax的工作原理、创建Ajax请求的方法以及如何处理响应。 2. **JavaScript框架**:可能涵盖了如jQuery、Prototype等流行的JavaScript库,这些库简化了DOM操作、事件处理和Ajax交互,提高了开发...
GWT-OAuth2 是一个基于 Google Web Toolkit (GWT) 的库,用于在 GWT 应用程序中实现 OAuth 2.0 身份验证。OAuth 2.0 是一个授权框架,允许第三方应用安全地访问用户的受保护资源,而无需获取其登录凭据。GWT 是一个...
同时,通过使用像Flex或GWT这样的RIA框架,可以在客户端构建复杂的用户界面,减轻服务器端的压力。 在JSP中,表达式语言(EL)和标签库(JSTL)是提高开发效率和可维护性的关键工具。EL简化了访问JavaBean属性,而...
### SD大会精品讲座:运用AJAX开发Web-2.0应用 #### 一、引言 随着互联网技术的快速发展,用户对于网页应用的需求也日益增长。Web 2.0概念的提出标志着网络应用进入了一个全新的阶段,其中AJAX技术成为了推动这一...
随着互联网技术的发展,Web 2.0概念应运而生,它不仅改变了人们使用网络的方式,也带来了新的安全威胁。AJAX(Asynchronous JavaScript and XML)作为Web 2.0的核心技术之一,在提高用户体验的同时,也为黑客提供了...
3. **身份验证和授权**: 探索Google的OAuth2.0和其他身份验证机制,理解如何保护你的应用和数据安全。 4. **性能优化**: 学习如何进行性能监控和优化,如减少读写延迟、正确使用缓存和预热请求。 5. **故障排查**:...
如从2.02版开始为Adobe的RIA技术AIR提供支持,并且为GWT开发了Ext GWT2.0,这些都体现了ExtJs的强大活力和生命力。 在可预见的未来,ExtJs将会甩开对手,大踏步向前。 ExtJs的前景: ExtJS的前景是非常好的,...
- Java 6、中级/初级的Servlets/JSP、高级Servlets/JSP、Struts、JSF 1.x & 2.0、Ajax、GWT、Spring、Hibernate、SOAP & RESTful Web Services等。 - Ajax课程可以专注于一个特定的库(如jQuery、Prototype/...
jQuery、GWT、YUI、DoJo等兴起的框架让构建Web 2.0应用变得更加容易,糟糕的是,随之而来的,定位这些应用的问题也越来越难,尤其是与性能相关的时候。 最让人头疼的浏览器依然是Internet Explorer – 企业级环境也...
随着Web 2.0技术的迅猛发展,诸如jQuery、GWT、YUI、Dojo等前端框架的普及极大地提升了构建复杂Web应用的能力,同时也带来了性能调试上的新挑战。在这样的背景下,dynaTraceAjax作为一种强大的性能分析工具,...