GWT 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
GWT 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
GWT 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
GWT 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
GWT 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 Apache
开发语言 Java JavaScript
操作系统 跨平台
软件类型 开源软件
所属分类 Web应用开发Web框架
开源组织 Google
地区 不详
投 递 者 不详
适用人群 未知
收录时间 2008-09-05

软件简介

Google 网页工具包——GWT 提供了一组基于Java语言的开发包,这个开发包的设计参考Java AWT包设计,类命名规则、接口设计、事件监听等都和AWT非常类似。熟悉Java AWT的开发者不需要花费多大的力气就能够快速的理解GWT开发工具包,将更多地时间投入到GWT应用的开发过程中。

开发出来的Java应用将由GWT开发包提供的编译工具编译后声生成对应的、应用了Ajax技术的Web应用,Java应用中出现的、和服务器之间的交互动作被自动生成的异步调用代码所代替。

GWT特性

GWT除了支持将应用Java语言开发的应用转化为Ajax应用,同时提供了更多的高级特性,下面是这些特性的简单描述。

1. GWT编译器

GWT编译器是GWT的核心,负责完成将Java代码翻译很Ajax内容的工作。GWT编译器能够翻译Java语言的大部分特性。包括支持Java 语言中的基本类型、违例处理等,支持java.lang包和java.util包中的绝大部分类和接口,支持正则表达式和序列化。

2. 跨平台支持

如果你使用GWT中提供的显示组件(比如Button)和组装组件(比如VerticalPanel),GWT编译生成的Ajax应用能够支持大部 分的浏览器和操作系统,比如Internet Explorer、Firefox等,也能够支持Linux、Windows等不同操作系统。这是因为GWT最大限度的将这些控件翻译成浏览器内置的类 型。比如Button类编译后生成的是标准HTML。

GWT建议使用CSS修饰页面元素的显示效果。GWT的类中很少提供访问页面元素样式属性的方法,我们可以直接在CSS文件中通过对应的样式名称来 设置页面元素的默认显示效果。比如使用 .gwt-Button { font-size: 150%; } 使用Button元素的默认显示效果。

3. 宿主模式(Hosted Mode)

宿主模式是指我们和没有转换为Ajax应用的GWT应用交互的状态。当我们开发和调试时,我们就一直处在宿主模式下。在这种情况下,Java虚拟机使用GWT内置的浏览器运行GWT应用编译后的class内容,因此能够提供"编码、测试、调试"过程的最佳速度。

我们可以运行com.google.gwt.dev.GWTShell启动宿主模式。

4. Web模式(Web Mode)

Web模式是指已经成功转化为Ajax应用的状态,这种状态下,我们已经开始通过Web方式来访问Ajax应用了。

在Web模式下运行时,不再需要GWT工具包或者JVM的支持。

5. 命令行工具

GWT工具包中提供了几个非常适用的小工具来帮助我们更快的建立GWT应用开发环境:projectCreator、applicationCreator、junitCreator。

  • projectCreator
    创建在Eclipse中开发GWT应用所需要的项目基本文件和可选的Ant buildfile文件。

  • applicationCreator
    applicationCreator命令用于创建基本的HelloWorld!应用和GWT应用开发环境。

  • junitCreator
    生成junti测试代码。

通过上面的内容,我们已经了解了GWT工具集工作的基本原理和主要特性。有些迫不及待了吧,那么就请随我一起进入GWT应用开发的过程吧,享受应用Java语言开发Ajax应用带来的简单和便利。

本文中所有的环境准备、实例开发和说明均针对Windows操作平台,如果使用其他的操作系统,请根据实际情况进行适当的调整。

展开阅读全文

评论 (5)

加载中
打分: 力荐
666
2017/07/02 10:21
回复
举报
找到个新玩意儿 mgwt ,用GWT开发手机应用, http://www.m-gwt.com/
2012/07/24 12:15
回复
举报
朋友病了8个月,现在终于好了。太好了,没有什么比健康更重要了,真诚希望我们码农保重身体! GWT
2012/11/14 14:25
回复
举报
吐槽下: JetBrains网站下订单的系统好像是用GWT做的,一堆的JS,,速度巨慢。变量名都是Java包名+方法名一起下划线分隔的,好长好长。
2013/02/01 14:19
回复
举报
mark #GWT#
2016/03/28 22:43
回复
举报
更多评论
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表于大前端专区
2015/03/17 15:08

Google Web Toolkit搭建Web扫描应用

GWT (Google Web Toolkit)帮助开发者使用Java来开发复杂的JavaScript应用。很多出色的产品,如Google AdSense,Google AdWords等都是使用GWT开发的。这里介绍下如何创建第一个GWT应用,以及如何通过GWT来创建一个简单的Web扫描应用。 参考原文:Building Web Scanning Applications with GWT GWT下载安装 使用Eclipse+GWT插件来搭建开发环境。请确认系统是否安装了JDK 7。 Eclipse 4.4 (Luna) > https://dl.google.com/eclipse...

0
0
2020/02/17 08:00

如何在Google Web Toolkit环境下Getshell

本文作者:大盗贼卡卡 ﹀ ﹀ ﹀ Google Web Toolkit简称(GWT),是一款开源Java软件开发框架。今天这篇文章会介绍如何在这样的环境中通过注入表达式语句从而导致的高危漏洞。 漏洞介绍 在WEB-INF/web.xml中,我发现了以下的web端点映射: <servlet> <servlet-name>someService</servlet-name> <servlet-class>com.aaa.bbb.ccc.ddd.server.SomeServiceImpl</servlet-class></servlet> <servlet-mapping> <servlet-nam...

0
0
发表了博客
2013/08/02 16:33

优秀 Go 项目介绍: Gorilla web toolkit

# Gorilla web toolkit 源码托管地址 [Gorilla][0], 官方网站 [gorillatoolkit][1]. Gorilla 在 Github 上是一个开源组, 值得敬佩的是, 这个小组开发出了多个实用并且独立并解耦的 package. 详情查看官网和源码, 这里做一个简单的介绍. ## schema 不要被 [schema][2] 这个名字迷惑, 这其实是一个 form 提交数据到 struct 实例的转换器. 非常实用的一个功能. 使用也非常简单. 但是如果您查看源码发现没有引入 `net/http` 包, 这就...

1
5
发表了博客
2019/10/15 10:18

WEB引入Google思源黑体

通过Link标签在网页头部引用Google Web Font: 1 <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Noto+Sans+SC:100,300,400,500,700,900"> 字体:Noto Sans SC 大小:100, 300, 400, 500, 700, 900 在需要使用思源黑体的地方设置CSS样式: font-family: "Noto Sans SC"; font-weight: 100; TIP:Link标签的rel属性的全称是relationship,表示引用内容与当前HTML的关系。 方法二: 很多人都知道,默认的...

0
0
发表于开发技能专区
2019/12/25 09:44

percona toolkit

percona toolkit 是一款percona公司推出的优秀的开源的mysql分析工具。 百科词条 Perl,一种功能丰富的计算机程序语言,运行在超过100种计算机平台上,适用广泛,从大型机到便携设备,从快速原型创建到大规模可扩展开发。 Perl借取了C、sed、awk、shell脚本语言以及很多其他程序语言的特性,其中最重要的特性是它内部集成了正则表达式的功能,以及巨大的第三方代码库CPAN。简而言之,Perl像C一样强大,像awk、sed等脚本描述语言...

0
0
发表了博客
2012/12/14 00:00

Google Go web 入门例子

稍微改造Go web 例子,已经写出来了,不想删,做记录用,留作后面兄弟的入门教材。 Go语言写的一个界面登录的例子。 package main import (   "fmt"   "html/template"   "log"   "net/http"   "strings" ) func sayhelloName(w http.ResponseWriter, r *http.Request) {   r.ParseForm() //解析参数,默认是不会解析的   fmt.Println(r.Form) //这些信息是输出到服务器端的打印信息   fmt.Println("path", r.URL....

0
2
发表于数据库专区
2016/06/28 16:00

percona-toolkit

摘要: 通过下面的这些命令在接触到新的数据库服务器的时候能更好更快的了解服务器和数据库的状况。 1:pt-summary:查看系统摘要报告 执行: pt-summary 打印出来的信息包括:CPU、内存、硬盘、网卡等信息,还包括文件系统、磁盘调度和队列大小、LVM、RAID、网络链接信息、netstat 的统计,以及前10的负载占用信息和vmstat信息。 # Percona Toolkit System Summary Report ###################### Date | 2013-10-23 0...

0
1
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
2018/06/20 09:25

gwt rpc 在ie11 浏览器内存泄漏

创建普通的gwt工程, 版本为 2.8.0-rc3 和 2.8.2 , demo中定时器进行 rpc轮询请求. 在ie11中内存持续增长. 定时器停止内存不释放.增长知道浏览器卡死. (请求的数据说明: 数据中必须包含 时间戳等 随机数,就是保证每次请求响应的数据不完全一致,否则内存不持续增长) 在chrome等其它浏览器中,内存虽有涨幅,但是相对稳定. 有没有解决办法啊,很头疼...

7
0
发表了问答
2012/09/11 21:56

企业应用前端选型,gwt、flex、jquery ui。

如果您在设计一个crm系统, 前端ui选型您会选择什么?请了解的兄弟给点意见。 1,gwt 2,flex 3,jquery ui。 4,other 非常感谢!!!!

30
0
发表了问答
2014/04/10 17:43

GWT菜鸟做标签页的显示框,跪求大神们帮忙

上面两个显示的小框是根据表格上方的选择标签进行显示,跪求各位大神帮忙看看怎么做。本人用的是GWT,在线等,多谢

1
0
发表了问答
2016/12/23 10:59

WEB项目部署之后用IE访问很慢,用谷歌浏览器速度很快

最近做的一个WEB项目,部署之后用IE访问很慢,用谷歌浏览器速度很快。不知道是什么原因,使用了GWT

1
0
发表了问答
2016/04/15 17:31

Gwt关于枚举的问题

Gwt使用的时候遇到的问题: com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException: The response could not be deserialized 详细的是: Caused by: com.google.gwt.user.client.rpc.SerializationException: org.mygwt.client.module. settings.configuration.model.enums.ConfigGroup/3508607917 -- 其中ConfigGroup是枚举类 -- 也就是枚举在debug模式下出现序列化的问题; 查询结果: stackoverflow 上很多的...

1
0
发表了问答
2015/03/20 14:23

Eclipse LUNA 4.40如何配置GWT web开发环境

我的eclipse是LUNA 4.40 的版本,我想在我的eclipse中配置GWT的开发环境,我看了很多资料,我选择的Plugin 插件版本是4.4的(Google Update Site for Eclipse 4.4 - https://dl.google.com/eclipse/plugin/4.4),在这个版本中我选择了 Google Plugin forEclipse(required) ; Google App Engine Tools for Maven(requires m2e-wtp 1.5+);SDKs ,如下图 这一步没有问题,接下来我安装designer时出现了问题,因为没有和我的eclipse...

11
0
发表了问答
2014/02/11 10:54

myeclipse加载项目到tomcat中,按finish键没反应

项目环境已经是搭建好了,但当项目部署时候,按finished按钮时候却不能够把项目部署到tomcat中。网上查过相关的问题,其中properties->MyEclipse->Web, 在Web 修改项目名称均解决不了。所以希望各位高手,求方法。这个问题究竟是出在哪里?感激不禁。以下是我出现问题的情况。

4
0
发表了问答
2013/06/04 14:08

请问GWT是不是不能直接使用第三方jar包里面的类啊?

每次一用都报错呢。。。     [ERROR] [gwt] - Line 23: No source code is available for type net.sf.json.JSONArray; did you forget to inherit a required module?

1
0
发表了问答
2014/03/10 08:06

关于java gwt发展问题

我想问问java gwt可以深入了解么,然后以后的前景怎么样,工作位子多么????

11
0
发表了问答
2009/12/11 11:38

Google 网页工具包的网友评论

Google 网页工具包——GWT 提供了一组基于Java语言的开发包,这个开发包的设计参考Java AWT包设计,类命名规则、接口设计、事件监听等都和AWT非常类似。熟悉Java AWT的开发者不需要花费多大的力气就能够快速的理解GWT开发工具包,将更多地时间投入到GWT应用的开发过程中。 开发出来的Java应用将由GWT开发包提供的编译工具编译后声生成对应的、应用了Ajax技术的Web应用,Java应用中出现的、和服务器之间的交互动作被自动生成的异...

2
0
发表了问答
2011/06/30 08:08

java类包在GWT中的部署

GWT开发中直接调用java类出错: javax.swing.JScrollPane can not be found in source packages. Check the inheritance chain from your module; it may not be inheriting a required module or a module may not be adding its source path entries properly. 没有找到解决方案呢 探索中...

5
0
发表了问答
2013/11/29 19:12

eclipse kepler的界面问题

安装的是最新的eclipse kepler,还装了Google plugin for eclipse,GWT, 正常情况下界面是这样的: 但是有时候最小化eclipse后,再打开eclipse,就变成这样了, 有时候鼠标点击代码编辑区,也会这样 每次都要点左边的那个红框中的按钮才能恢复正常界面。 以前用 juno 版本的时候没有出现过这个问题,这个问题Google也搜索不出什么有效的方法。 大家有没有遇到过这种情况啊,怎么解决啊?...

2
0
发表了问答
2010/12/15 11:02

求助:如果直接将hibernate的ORM映射对象序列化了传递到gwt里去,并且使用了集合映射,就会

用的是gxt技术,下面的A类是个实体类,和 B 类是一对多的关系,A类中的Bs set 集合存的是属于A下面的所有B类实体,当用GXT 的grid 加载A类信息的时候就会报如下错误。 Type 'org.hibernate.collection.PersistentSet' was not included in the set of types which can be serialized by this SerializationPolicy or its Class object could not be loaded. 如果直接将hibernate的ORM映射对象序列化了传递到gwt里去,并且使用了...

3
1
发表了问答
2012/12/13 10:14

GWT ListGrid CSS问题

ListGrid 里有一个方法:setStyleName(String styleName);那么这个方法的CSS的Class样式写在哪个地方。 另外,ListGrid 里还有一个方法:setBaseStyle(String style)如何使用。Stinrg style是什么格式的?

3
0
发表了问答
2013/08/16 18:46

升级版本GWT2.4到2.5

1
0
发表了问答
2013/05/22 21:52

求Google Plugin for Eclipse 3.8/4.2(GWT)离线下载方法

Eclipse提供了在线安装方法 http://marketplace.eclipse.org/content/google-plugin-eclipse-3842#.UZtcX5PUNm4 输入在线地址的时候,却报错提示读取配置文件失败。所以请教各位是否有gwt(for Eclipse4.2)的离线安装包下载地址,我在网上搜索到的离线下载地址最多只有供Eclipse3.7使用的。

1
0
发表了问答
2010/11/28 20:13

GWT eclipse/MyEclipse离线安装

找了半天在网上终于找到了,在线安装慢的跟牛一样...... Installing the Google Plugin for Eclipse from zip files As an alternative to installing from the update site, you can also install the Google Plugin for Eclipse by downloading it as an archive and extracting into your Eclipse installation. You may find this alternate approach helpful in the case that Eclipse can't reach the update site, which...

2
2
发表了问答
2013/05/28 10:11

求问几个java写法

public static <T> T create(Class<?> classLiteral) { return com.google.gwt.core.shared.GWT.<T>create(classLiteral);//这是神马意思 }  public static <T> T create(Class<?> classLiteral) {       return sGWTBridge.<T> create(classLiteral);///这又是啥,返回值是啥     }...

5
0
发表了问答
2011/10/19 15:50

我们用GWT重写了ofbiz的前台,大家看看http://www.maipop.com:8080/openbuymng

界面更加的人性化,操作就像本地程序,大家感兴趣可以一起聊聊。qq:16410690. 用户名admin,密码:ofbiz

18
2
发表了问答
2013/01/11 10:41

运行gwt的demo(dynatablerf)时报错

我运行gwt的demo-dynatablerf时报错: <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> </body> </html> at com.google.web.bindery.requestfactory.shared.Receiver.onFailure(Receiver.java:44) at com.google.web.bindery.requestfactory.shared.impl.AbstractRequest.onFail(AbstractRequest.java:118) at com.google.web.bindery.requestfactory.shared.impl.AbstractRequestContext.fail(AbstractRequestCo...

1
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
5 评论
238 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部