- 浏览: 449312 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (267)
- java (8)
- 求职&面试 (1)
- linux (33)
- windows (1)
- C++ (5)
- android (12)
- QT (1)
- 经验 (1)
- memory-leaks (1)
- Streaming&V/A (1)
- network&security (5)
- SCM (13)
- mysql (10)
- browsers (4)
- Windows APIs (2)
- opensource (1)
- pm (1)
- GDI (1)
- database (14)
- MFC (1)
- web&fronts (17)
- Tomcat (4)
- OLE (1)
- 观后感 (1)
- Production (2)
- UML (3)
- Javascript (7)
- Cloud Computing&SAAS (5)
- SoftwareEngineering (1)
- Computer&Maintenance (1)
- Web (8)
- Desgin (1)
- J2ee (10)
- mysql cluster (0)
- LB&HA (2)
- webserver (11)
- php (5)
- cas&authtication (0)
- Languages (1)
- IDEs (3)
- architecture (2)
- iOS (8)
- spring (3)
- webservices (1)
- security (1)
- MVCFrameworks (2)
- bservices (0)
- build-tools (2)
- unittest (1)
- spring-security (0)
- sphinx (2)
- hibernate (1)
- mybatis (2)
- search (0)
- nginx (2)
- design&production (2)
- DFS (0)
- algorithm (0)
- distributed&network (0)
- blogs (0)
- os&admin (0)
- fastcgi (0)
- kv-db (0)
- operation&maintenance (1)
- productions (9)
- 养生 (1)
- appserver (1)
- HTTP (2)
- test (1)
- erlang (2)
- browser (0)
- 非技术 (2)
- mobiles (2)
- cloud computing (2)
- Business (2)
- maven (1)
- python (5)
- 人生 (0)
- Cryptography (3)
- CV (0)
- cms (2)
- jqm (2)
- html (2)
- flex (1)
- redmine (1)
- iptables (1)
- groovy (1)
- scala (1)
- grails (1)
- ftp (3)
- vsftpd (2)
- lua (0)
- chroot (3)
- jailkit (3)
- UED (0)
- myeclipse (2)
- ide (2)
- eclipse (2)
最新评论
-
Nick712:
http://blog.csdn.net/victory08/ ...
处理SVN出现:Cleanup failed to process the following paths: xxx -
xs6262460:
Spring AOP根据JdbcTemplate方法名动态设置数据源 -
xhpscdx:
我的解决办法是把D:\ACRS\Projects\TAIS 下 ...
处理SVN出现:Cleanup failed to process the following paths: xxx -
hnraysir:
总结得相当不错,支持下。
使用CodeIgniter 创建 RESTful 服务 REST API【原创译文】 -
云上太阳:
这个必须评论下,间接的救过俺的命啊
解决tomcat启动报错,加强错误日志的显示:
一.为什么我们选择GWT?
Google 网页工具包 (GWT),可以使用 Java 编程语言编写 AJAX 前端,然后 GWT 会交叉编译到优化的 JavaScript 中,而 JavaScript 可以自动在所有主要浏览器上运行。在开发过程中,您可以用 JavaScript 按照您习惯的相同“编辑 - 刷新 - 查看”循环快速反复,还有另一个好处就是能够调试和逐行单步调试 Java 代码。准备好进行部署后,GWT 会将 Java 源代码编译到优化且独立的 JavaScript 文件中。使用 Google 网页工具包可以轻松地为现有网页或整个应用程序构建一个 Widget。
使用 Java 语言编写 AJAX 应用程序,然后编译为优化的 JavaScript
与仅在文本级别运行的 JavaScript Minifier 不同,GWT 编译器会在整个 GWT 代码库中执行综合性静态分析和优化,通常生成的 JavaScript 加载和执行均比等效手写的 JavaScript 更快。例如,GWT 编译器可以安全地消除无用代码 -- 极大的减少不使用的类、方法、字段甚至方法参数 -- 以确保您编译的脚本尽可能最小。另一个示例:GWT 编译器选择性地内联方法,消除方法调用的性能开销。
交叉编译提供了开发所需的可维护的抽象方法和模块性,而不会导致运行时性能损失。
二.为什么会选择SmartGWT?
SmartGWT是一个利用GWT封装SmartClient的开源项目。类似于GWT-Ext。SmartClient是一个企业级的ajax框架,包括非常出色的UI库、工具库和客户端服务端数据绑定等功能。
看看它的Dome,你就会为它的功能所折服的。
http://www.smartclient.com/smartgwt/showcase/
三.GWT与SmartGWT整合
1.下载SmartGWT2.0,在这里,http://code.google.com/p/smartgwt/downloads/list
解压,里面包括smartgwt.jar,smartgwt-skins.jar两个jar文件,API以及几个dome。
2.假定你已经配置好Eclipse下开发GWT的环境,如果你还没有配置好,请看这里:
http://code.google.com/webtoolkit/usingeclipse.html
3.在Eclipse下,新建项目firstSmartGWT,包名:com.mycompany.app
可以看到它已经给你生成了一个helloworld的例子。
4.引入smartGWT相关的jar包,右击项目,build path,add external Archives,如后选择smartgwt.jar,smartgwt-skins.jar引入。
5.修改FirstSmartGWT.html
在war包下面,打开FirstSmartGWT.html,添加SmartGWT的资源引用模块(红色部分),其中firstsmartgwt为项目名的全部小写名称。
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <!-- The HTML 4.01 Transitional DOCTYPE declaration-->
- <!-- above set at the top of the file will set -->
- <!-- the browser's rendering engine into -->
- <!-- "Quirks Mode". Replacing this declaration -->
- <!-- with a "Standards Mode" doctype is supported, -->
- <!-- but may lead to some differences in layout. -->
- <html>
- <head>
- <meta http-equiv="content-type" content="text/html; charset=UTF-8">
- <!-- -->
- <!-- Consider inlining CSS to reduce the number of requested files -->
- <!-- -->
- <link type="text/css" rel="stylesheet" href="FirstSmartGWT.css">
- <span style="color: #ff0000;"> <script> var isomorphicDir = "firstsmartgwt/sc/"; </script></span>
- <!-- -->
- <!-- Any title is fine -->
- <!-- -->
- <title>GWT和SmartGWT整合实例</title>
- <!-- -->
- <!-- This script loads your compiled module. -->
- <!-- If you add any GWT meta tags, they must -->
- <!-- be added before this line. -->
- <!-- -->
- <script type="text/javascript" language="javascript" src="firstsmartgwt/firstsmartgwt.nocache.js"></script>
- </head>
- <!-- -->
- <!-- The body can have arbitrary html, or -->
- <!-- you can leave the body empty if you want -->
- <!-- to create a completely dynamic UI. -->
- <!-- -->
- <body>
- <span style="white-space: pre;"> </span>
- <!-- OPTIONAL: include this if you want history support -->
- <iframe src="javascript:''" id="__gwt_historyFrame" tabIndex='-1' style="position:absolute;width:0;height:0;border:0"></iframe>
- <!-- RECOMMENDED if your web app will not function without JavaScript enabled -->
- <noscript>
- <div style="width: 22em; position: absolute; left: 50%; margin-left: -11em; color: red; background-color: white; border: 1px solid red; padding: 4px; font-family: sans-serif">
- Your web browser must have JavaScript enabled
- in order for this application to display correctly.
- </div>
- </noscript>
- <span style="color: #00ff00;"><h1>Web Application Starter Project</h1>
- <table align="center">
- <tr>
- <td colspan="2" style="font-weight:bold;">Please enter your name:</td>
- </tr>
- <tr>
- <td id="nameFieldContainer"></td>
- <td id="sendButtonContainer"></td>
- </tr>
- </table></span>
- </body>
- </html>
下面的为helloworld相关的内容,删掉。
- <h1>Web Application Starter Project</h1>
- <table align="center">
- <tr>
- <td colspan="2" style="font-weight:bold;">Please enter your name:</td>
- </tr>
- <tr>
- <td id="nameFieldContainer"></td>
- <td id="sendButtonContainer"></td>
- </tr>
- </table>
6.修改web.xml
在war/WEB-INF下面打开web.xml。
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE web-app
- PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
- "http://java.sun.com/dtd/web-app_2_3.dtd">
- <web-app>
- <span style="color: #00ff00;"><!-- Servlets -->
- <servlet>
- <servlet-name>greetServlet</servlet-name>
- <servlet-class>com.mycompany.app.server.GreetingServiceImpl</servlet-class>
- </servlet>
- <servlet-mapping>
- <servlet-name>greetServlet</servlet-name>
- <url-pattern>/firstsmartgwt/greet</url-pattern>
- </servlet-mapping></span>
- <!-- Default page to serve -->
- <welcome-file-list>
- <welcome-file>FirstSmartGWT.html</welcome-file>
- </welcome-file-list>
- </web-app>
删掉下面的内容
- <!-- Servlets -->
- <servlet>
- <servlet-name>greetServlet</servlet-name>
- <servlet-class>com.mycompany.app.server.GreetingServiceImpl</servlet-class>
- </servlet>
- <servlet-mapping>
- <servlet-name>greetServlet</servlet-name>
- <url-pattern>/firstsmartgwt/greet</url-pattern>
- </servlet-mapping>
7.修改FirstSmartGWT.gwt.xml
在src/com/mycompany/app下面,添加<inherits name="com.smartgwt.SmartGwt"/>,引用SmartGWT模块
- <?xml version="1.0" encoding="UTF-8"?>
- <module rename-to='firstsmartgwt'>
- <!-- Inherit the core Web Toolkit stuff. -->
- <inherits name='com.google.gwt.user.User'/>
- <!-- Inherit the default GWT style sheet. You can change -->
- <!-- the theme of your GWT application by uncommenting -->
- <!-- any one of the following lines. -->
- <inherits name='com.google.gwt.user.theme.standard.Standard'/>
- <span style="color: #ff0000;"><inherits name="com.smartgwt.SmartGwt"/></span>
- <!-- <inherits name='com.google.gwt.user.theme.chrome.Chrome'/> -->
- <!-- <inherits name='com.google.gwt.user.theme.dark.Dark'/> -->
- <!-- Other module inherits -->
- <!-- Specify the app entry point class. -->
- <entry-point class='com.mycompany.app.client.FirstSmartGWT'/>
- <!-- Specify the paths for translatable code -->
- <source path='client'/>
- </module>
8.修改FirstSmartGWT.java
打开src/com/mycompany/client下面的FirstSmartGWT.java,用下面的内容替换掉以前的内容。
- package com.mycompany.app.client;
- import com.google.gwt.core.client.EntryPoint;
- import com.smartgwt.client.util.SC;
- import com.smartgwt.client.widgets.IButton;
- import com.smartgwt.client.widgets.events.ClickEvent;
- import com.smartgwt.client.widgets.events.ClickHandler;
- /**
- * Entry point classes define <code>onModuleLoad()</code>.
- */
- public class FirstSmartGWT implements EntryPoint {
- /**
- * This is the entry point method.
- */
- public void onModuleLoad() {
- IButton button = new IButton("点我");
- button.addClickHandler(new ClickHandler() {
- @Override
- public void onClick(ClickEvent event) {
- // TODO Auto-generated method stub
- SC.say("恭喜你,GWT和SmartGWT集成好了。");
- }
- });
- button.draw();
- }
- }
9.至此GWT和smartGWT集成完毕。
发表评论
-
了解轻量级的移动开发Javascript类库- Zepto.js
2013-06-08 10:53 3634了解轻量级的移动开发Javascript类库- Zepto.j ... -
一些Flex炫效果网址
2013-02-27 16:47 0一些Flex炫效果网址 一些Flex炫效果网址 ... -
一个不错的模板提供网站
2013-02-25 14:03 0http://www.trippo.co/ -
jquery mobile的一些插件(图片滚动)
2013-02-22 14:09 10423jquery mobile的一些插件(图片滚动) ... -
分享15款为jQuery Mobile定制的插件
2013-02-22 14:00 1203分享15款为jQuery Mobile定制的插件 < ... -
为什么推荐使用第三方CDN加速后的jquery库文件
2013-02-21 22:03 1712建议通过谷歌 ... -
http://mobile.51cto.com/hot-277261.htm
2013-02-21 17:41 0http://mobile.51cto.com/hot-277 ... -
谷歌Analytics优化网站与AB测试方法
2012-12-02 11:46 2013【转】谷歌Analytics优化网站与AB测试方法 ... -
不错的面向企业的Web前端框架OperaMasks
2012-12-02 01:31 1668OperaMasks 目录 简介 特点 ... -
不错的前端博客和站点
2012-11-28 16:53 0http://sofish.de/ http://alice ... -
MyEclipse安装GWT插件
2012-08-22 15:11 932最近开始研究 GWT,但是按照googl ... -
GWT开发的8个忠告(转载)
2012-08-22 14:41 1198Google Web工具包(GWT ... -
spring集成gwt的办法
2012-08-16 16:43 1184spring集成gwt的办法 spring集成gwt, ... -
利用GWT开发高性能Ajax应用
2012-08-15 20:57 1041利用GWT开发高性能Aja ... -
ExtJS和GWT的比较
2012-08-14 22:20 1124在写之前我没看 ... -
5个顶级的gwt框架
2012-08-14 18:45 1814新闻地址:http://www.gwtsite ... -
开源中最好的Web开发的资源
2012-08-06 15:20 938开源中最好的Web开发的资源 时间:2011年0 ... -
Web前端开发的一般项目流程
2012-08-03 17:22 2137Web前端开发的一般项目流程 前面聊了一些关于We ... -
10件开发者和老板都要知道的HTML5的那些事
2012-07-30 22:51 862【转载】 由 HTML5研究小组 于 周一, ... -
10款让你震撼的图片展示js代码
2012-07-23 15:00 84310款让你震撼的图片展示js代码 http:/ ...
相关推荐
8. **国际化和本地化**:SmartGWT支持多语言应用,你可以从实例中学习如何设置和切换不同的语言环境。 9. **性能优化**:SmartGWT提供了很多工具和策略来优化应用程序的性能,例如延迟加载、缓存策略等。通过分析...
SmartGWT是一个基于Google Web Toolkit (GWT) 的扩展框架,它通过提供大量预定义的用户界面组件和高级数据管理功能,极大地简化了GWT应用的开发。SmartGWT 3.1在前一版本的基础上进行了改进和优化,提升了性能和...
SmartGWT是一个强大的Java库,专门用于构建富互联网应用程序(RIA)。它基于Google Web Toolkit (GWT) 平台,并提供了丰富的用户界面组件和优化工具,使得开发人员能够轻松创建功能丰富的、交互性强的Web应用。GWT...
smartgwt结合数据库应用实例 体验富网络应用(RIA) 对应blog—— http://hi.csdn.net/link.php?url=http://blog.csdn.net%2FcatPan
在这个"smartgwt最新版本GWT的DEMO"中,我们可以深入学习SmartGWT如何与GWT结合,创建功能强大的Web应用。 Google Web Toolkit (GWT) 是一个由Google开发的开放源代码Java SDK,它允许开发者使用Java语言编写客户端...
SmartGwt 是一款基于 Java 的开源库,它为开发人员提供了丰富的组件和工具,用于构建高性能、富交互式的 Web 应用程序。在 SmartGwt 中,原生的 Desktop 功能是一个强大的特性,它允许开发者创建类似桌面应用的用户...
在IT行业中,SmartGWT是一个基于Google Web Toolkit (GWT) 的强大且高效的用户界面库,它提供了大量的组件,使得开发者能够快速构建复杂的Web应用程序。本文将深入探讨如何使用SmartGWT来创建一个自定义的分页Grid...
SmartGwt、Mybatis与Spring的整合是企业级Java应用开发中的常见技术栈组合,这三种框架各有其专长,可以高效地构建出强大的后台系统。SmartGwt是一款基于GWT(Google Web Toolkit)的开源UI组件库,提供丰富的用户...
本项目"smartGwt、spring、Mybatis整合"就是一个很好的例子,它将三种流行的技术——SmartGWT、Spring和Mybatis融合在一起,创建了一个包含登录功能和分页查询功能的应用。以下是关于这三个技术及其整合方式的详细...
标签 "源码" 暗示了压缩包可能包含一个简单的GWT项目源代码,我们可以从中学习如何设置和运行这个GWT与FusionCharts的集成实例。"工具"标签可能指的是使用到的开发工具,如Eclipse、IntelliJ IDEA,或者是构建工具如...
SmartGWT是一个强大的Java库,专门用于构建富互联网应用程序(RIA)。它基于Google Web Toolkit (GWT) 并扩展了其功能,提供了丰富的组件库和更直观的开发接口。SmartGWT 2.0是该框架的一个早期版本,对初学者来说是...
总的来说,这个DEMO将演示如何使用GWT和SmartGWT实现一个基本的数据管理界面,包括创建新的记录,查看列表,编辑选定记录以及删除记录。通过学习和理解这个DEMO,初学者能够快速掌握GWT中的CRUD操作,并为以后的项目...
SmartClient通常会提供一个包含所有必需库的jar包集合,包括SmartGWT库和SmartClient服务器端组件。如果你发现这些jar包被删除,你可以从SmartClient的官方网站或者通过Maven仓库下载最新版本,确保包括以下关键组件...
总的来说,这个例子旨在帮助学习者理解如何将SmartGWT的富客户端功能与Struts2的服务器端控制能力相结合,以构建高效、互动的Web应用。通过深入研究这个示例,开发者可以学习到如何在实际项目中整合这两个框架,提升...
GWT最初由SmartGWT公司开发,后来被Google收购并进一步发展。 **EJB3 (Enterprise JavaBeans 3)** 是Java EE(现在称为Jakarta EE)平台的一部分,它是一种用于构建可扩展、模块化、面向服务的企业级应用程序的标准...
11. **GWT库与框架**:探讨GWT社区中流行的库和框架,如SmartGWT、GXT、Vaadin等,它们扩展了GWT的功能,简化开发工作。 12. **测试与调试**:讲解如何使用GWT的单元测试框架和模拟器进行测试,以及如何利用Chrome...
GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....
GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....
GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....