`

《GWT揭秘》试读:运行调试项目

 
阅读更多

《GWT揭秘》试读:2.2 运行调试项目

选中 HelloGWT 项目文件夹,单击运行按钮,如图 2-4 所示。

单击运行按钮(Run As…)后,打开“Run As”对话框。双击“Web Application”项运行项目,如图 2-5 所示。

 

 

图 2-4 选中 HelloGWT 项目

 

 

图 2-5 “Run As”对话框

警告 GWT 在项目运行时需要启动 jetty web 服务器。如果 jetty 的端口被占用,那么 GWT 项目将无法运行。如果程序无法正常运行,并且 Eclipse 控制台中错误信息为“Port 8080 is already is use; you probably still have another session active”,表示 8080 端口已被其他程序占用。单击运行按钮边上的向下箭头,选择“Run Configurations…”菜单项,打开“Run Configurations ”对话框。选择“Web Application”下面的“HelloGWT.html”后,在右边面板“Embedded Server”下,把“Port”设置为一个未用的端口号。

项目运行后界面出现乱码,如图 2-6 所示。

右键单击 HelloGWT 项目文件夹选择“Properties”菜单项。打开“Properties for HelloGWT”对话框,在“Resource”配置项下将“Text file encoding”改为“Other:utf-8”,如图 2-7 所示。单击“OK”按钮关闭设置项目属性窗口。

 

 

图 2-6 界面出现乱码

 

 

图 2-7 修改项目文件编码格式

技巧 GWT 编译器使用 utf-8 编码格式读取源代码文件,将项目转变为 utf-8 编码格式可以避免乱码问题。

提示 修改项目文件编码格式后,项目文件中已存汉字全部变成乱码,需要手工修复。打开HelloGWT.java 文件,修复第 12 行的乱码。

修改后直接单击图 2-6 运行界面的“Refresh”按钮或按 F5 刷新界面,中文乱码问题即可解决。单击“欢迎”按钮,弹出“Hello GWT!”消息框,如图 2-8 所示。

 

 

图 2-8 Hello GWT 界面

技巧 GWT 项目修改源代码后不需要重新运行项目,直接刷新页面就能看到效果。

你可能想知道启动的是什么浏览器,这是 GWT 托管运行环境(GWT Hosted Web Browser)。GWT 程序有两种运行模式:普通模式和托管模式(Hosted)。很容易区分这两种运行模式,从Eclipse 中启动的程序,运行于托管模式下;在浏览器中运行的程序以普通模式运行。GWT 只能在托管模式下进行调试。

提示 GWT 程序在托管模式下的运行速度明显慢于普通模式下的运行速度,因为 GWT 程序在受控环境下并不会真正生成 JavaScript,而是模拟运行,以便于调试器介入。

接着试验如何在 GWT 中进行调试。GWT 调试和普通 Java 程序调试完全一样。我们打开HelloGWT.java 文件,在第 16 行设置断点(Ctrl+Shift+B),然后单击运行按钮左边的调试按钮。

注意 先关闭刚才打开的 Google Web Toolkit Hosted Mode 窗口,否则 GWT 的 Web 服务器端口会发生冲突,无法启动程序。

Hello GWT 程序启动后,单击“欢迎”按钮,调试断点被触发。接着可以进行单步调试、查看变量等常规调试操作,如图 2-9 所示。

 

 

图 2-9 调试断点被触发

在 GWT 2.0 中调试的方式有所不同。首先术语上发生了变化,在 1.x 版本中的“托管模式(hosted mode)”被改为“开发模式(development mode)”,由于“托管模式”的意义让人感到含糊不清,所以 GWT 开发组选择了有更清晰含义的“开发模式”替代“托管模式”。与此对应,“网页模式(web mode)”也被改为“生产模式(production mode)”。

在 GWT 1.x 版本中,开发者在一个被称为“托管浏览器”中进行代码调试,参见图 2-8。在大多数情况下,托管浏览器工作的很不错。不过还是存在着一些问题,例如你用 Window.open 弹出一个新的浏览器窗口,“托管浏览器”就无法很好地为你处理打开的式样参数。

另外一个重要的限制就是托管环境只支持某种浏览器,在 Windows 平台下,托管环境只支持IE 浏览器;在 Linux 平台下,只支持 Firefox 浏览器;在 Mac 平台下,只支持 Safari 浏览器。也就是说如果在 Windows 环境中编写 GWT 程序,但是你会发现用户在 Firefox 浏览器中运行有问题,旧版本的 GWT 就无法针对这种情况进行调试。

旧版本的 GWT 的托管运行环境有比较严重的内存泄漏,调试环境运行一段时间后开发团队就不得不重启托管调试环境,这给开发工作带来了诸多不便。

GWT 2.0 完全摒弃了托管浏览器的调试模式,而转由使用浏览器插件进行调试。下面我们来介绍一下这种新的调试模式。

在 GWT 2.0 的环境中直接单击调试按钮,与 1.x 版本的调试不同,GWT 并没有弹出任何对话框。而是在控制台输出了一些信息,如图 2-10 所示。

这段文字的意思是 GWT 开发环境所用的 Web 服务已经启动,可以通过访问下面的地址进行调试。

http://localhost:8888/DemoGWT2.html?gwt.codesvr=192.168.1.130:3388

 

 

图 2-10 控制台输出

我们将这个地址复制到 GWT 调试器支持的浏览器中,目前支持的浏览器有 IE、Firefox、Chrome 和 Safari。

注意 Chrome 只支持 4.0 以后的版本。

以 IE8 为例,用 IE8 打开该地址后,可以看到一条提示信息,如图 2-11 所示。

 

 

图 2-11 提示安装开发插件

这段文字的意思是 GWT 开发插件尚未安装,开发模式运行需要安装 GWT 开发插件。单击那个大的蓝色按钮就可以下载 IE 版本开发插件,也可以通过单击下面的超链接选择其他平台和浏览器的开发插件。

点击按钮下载插件,如果是 Windows XP 或 Vista 操作系统,可以直接单击“运行”按钮进行安装。如果是 Windows 7,则需要下载到本地,然后以管理员模式进行安装,如图 2-12 所示。

 

 

图 2-12 以管理员身份运行安装

开发插件安装完成后再次刷新页面就可以看到运行的结果。在运行代码的第一行添加一个断点,再次刷新页面,可以看到 Eclipse 命中了我们设置的断点。

分享到:
评论

相关推荐

    gwt揭秘源代码

    通过《GWT 揭秘》的源代码,读者可以学习到如何创建GWT项目,设置模块,使用GWT的UI组件,实现异步通信,以及优化和调试代码。此外,书中可能还涵盖了自定义Widget、国际化、CSS样式控制、单元测试等方面的内容。 ...

    GWT揭秘.pdf

    GWT揭秘.pdf

    gwt 揭秘 一书 源码 part2

    gwt 揭秘 一书 源码 网上很难找的哦。 分三部分压缩了 最好去买本 gwt 揭秘 书。写得还不错哦

    idea编译gwt完整包含截图为接手老项目的朋友提供帮助

    在IT行业中,有时候我们需要接手一些老项目,这些项目可能使用了过时的技术或框架,比如本文提到的Google Web Toolkit (GWT)。GWT是一种用于构建富互联网应用程序(RIA)的开源Java SDK,允许开发者使用Java语言编写...

    GWT 揭秘 pdf

    gwt揭秘 GWT是google web tools 的缩写。

    gwt揭秘.pdf

    gwt入门的基础书籍,对于初学者应该有帮助

    [GWT揭秘].徐彬.扫描版

    本书内容全面,不仅详细介绍了 GWT 的主要模块和控件、GWT 与 JavaScript 对象的交互、在 GWT 中使用 XML、开发自定义 GWT 控件、GWT-RPC 和 Ext GWT 等必备的基础知识,而且还深入讲解了 GWT 与 Flex整合、图片缓存...

    GWT揭秘(书签整理版)

    2. Hello GWT 3. 模块 4. JSNI 5. 在GWT中使用XML 6. GWT控件详解 7. 使用GWT控件 8. GWT-RPC 9. Ext GWT 10. (实战)俄罗斯方块游戏 11. (实战)费用申请审批流程 12. GWT与Flex整合 13. 图片缓存 CSS Sprite 14. ...

    gwt反射 http://code.google.com/p/google-gin/wiki/GinTutorial

    在GWT中,反射是一个强大的工具,允许程序在运行时检查类、接口、字段和方法的信息,甚至可以在客户端创建和操作未知类型的对象,这对于动态加载和处理数据非常有用。 ...

    gwt揭秘_pdf

    接着,书中的章节会深入到GWT的开发环境搭建,包括如何安装和配置Eclipse IDE以及GWT SDK,以及如何创建和运行第一个GWT项目。这部分内容对于初学者来说是非常基础且重要的,因为它确保了开发者可以快速上手实践。 ...

    gwt调试环境配置.doc

    标题中的“gwt调试环境配置.doc”指的是关于Google Web Toolkit(GWT)的调试环境设置的文档。GWT是一款由Google开发的开源JavaScript框架,它允许开发者使用Java语言编写前端应用,然后通过编译器将Java代码转换为...

    GWT学习文档

    - **强大的调试工具**:GWT提供了集成的开发环境和源码级别的调试器。 1.3 **GWT的运行环境** - **Java Development Kit (JDK)**:GWT需要JDK 1.5或更高版本来编译和运行。 - **浏览器支持**:至少需要支持...

    gwt 揭秘 源码

    GWT最初由Google开发,允许开发者使用Java语言编写客户端应用,然后通过编译器将其转换为优化过的JavaScript代码,运行在浏览器环境中。这种方式避免了直接编写JavaScript的复杂性,同时利用了Java的强大库和开发...

    gwt 揭秘 一书 源码 part3

    gwt 揭秘 一书 源码 网上很难找的哦。 分三部分压缩了 最好去买本 gwt 揭秘 书。写得还不错哦

    gwt-jsni:用于 GWT 项目的 JSNI 实用程序

    用于 GWT 项目的 JSNI 实用程序。 用法 将依赖项添加到您的 Maven POM: < groupId>com.bytebybyte.gwt</ groupId> < artifactId>jsni < version>1.0.0 < scope>provided 和你的 .gwt.xml 文件: ... ...

    把gwt放到tomcat运行

    在描述中提到的博客链接可能详细介绍了如何将GWT项目配置并部署到Tomcat上运行的步骤。通常,这个过程包括以下几个关键知识点: 1. **创建GWT项目**:首先,你需要使用GWT SDK创建一个新的GWT项目,这通常涉及使用...

    GWT+开发和部署.doc

    2. 创建Web应用程序项目:创建一个新的Web应用程序项目,并将GWT插件安装到项目中。 3. 创建GWT模块:创建一个GWT模块,它相当于一个页面,每个模块都有一个module名.gwt.xml文件,该文件中定义了这个页面需要使用到...

    GWT简介.docx

    7. **开发工具和调试**:GWT提供了强大的开发工具,如GWT Developer Plugin,可以在浏览器中实时预览和调试应用,提升开发效率。 8. **模块化系统**:GWT应用由多个模块组成,每个模块包含特定的功能,这使得代码...

    gwt 调试插件

    GWT的DevMode是其调试环境的核心,它允许开发者实时查看代码更改的效果,无需每次都重新编译整个项目。通过DevMode,开发者可以快速迭代,提高开发效率。 4. **代码覆盖率工具**: GWT调试插件可能还包括代码覆盖...

Global site tag (gtag.js) - Google Analytics