`
ldsjdy
  • 浏览: 151595 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

GWT1

    博客分类:
  • GWT
阅读更多
GWT的初步理解:

GWT
1.分为前端和后端,前端会编译为javascript,后端不用.
2.前端的实现方法和Swing相似,Google GWT 提供一组UI组件
3.Model 一个模块对应一个Model, 在对就的 xxx.gwt.xml中对Model进行配置. 一个Model对应一个Html页面,在这个页面引入该由该Model编译生成的javascript
4.RPC 前端与后端交互,RPC 主要用两个接口与一个实现类组成,
interface xxxService extends RemoteService 定义 Servcie方法
interface xxxServiceAsync 定义异步调用的方法,每个方法与 xxxService方法对应,在参数上加上了一个AsyncCallback,用于接收异步调用返回的结果
以上两个接口都定义在 client端,会被编译成javascript
xxxServiceImpl extends RemoteServiceServlet implements xxxService  实现 xxxService定义的方法,继承了 GWT提供的 RemoteServiceServlet,
其实就是一个Servlet,需要在web.xml对此Servlet进行配置.该实现类不需要编译为javascript,部署于服务器端
注意:需要通过RPC进行传递的Object都必须实现序列化接口 Serializable
RPC使用流程:
1).创建一个 xxxServiceAsync接口
xxxServiceAsync xxxService = GWT.create(xxxService.class);
2).创建一个AsyncCallBack 对象
final AsyncCallback callback = new AsyncCallback() {

            @Override
            public void onFailure(Throwable caught) {
                //  throw new UnsupportedOperationException("Not supported yet.");
                Window.alert(" fail: " + caught.getMessage());
            }

            @Override
            public void onSuccess(Object result) {
                //Window.alert("Add success");
               // refreshCategoryTable();
			  //进行UI相关的操作
            }
        };


3).在UI的事件中或需要的地方进行RPC调用
xxxService.service方法(参数,callback);

RPC的调用和普通的 Ajax调用的方法是一样的.

5.样式,GWT 的UI可以自由设置样式,通过css,
1.定义好css,在 html中引入,然后再给UI添加在css中定义的样式,在 xxx.gwt.xml中可以指定默认的theme,如standard,Chrome,Dark
如在css中定义: .button{width:100px;background-color: #A1B9A2;height: 30px;}
中写Button时添加样式:addStockButton.addStyleName("button");这样addStockButton就会按照 .button中定义的样式显示
注意:如果在xxx.gwt.xml中设置了 默认的theme,则自定义的 css中有的属性可能会不起作用,需要注意。每种不同的UI有不同的添加css方法,调试css的时候可以用
firebug 查看具体部分的css应用是否正确.
参考http://code.google.com/webtoolkit/doc/latest/tutorial/style.html


6.面板的的布构造与功能有关,相关的操作或显示可用一个面板封装, 共用的AsyncCallback,ClickHander 可提取出来。

比如  save,cancel,delete,edit,等操作button可放在一个widget中,用一个方法来生 成这个Widget,生成Widget时把 button需要操作的参数传过去
如:
//category 为需要修改的category,row 为表格的行号, table为需要修改的table
Widget getCategoryOperateorWidget(final CategoryGWT category, final int row, final FlexTable table)

7. maven GWT: mvn archetype:generate -DarchetypeRepository=repo1.maven.org  -DarchetypeGroupId=org.codehaus.mojo   -DarchetypeArtifactId=gwt-maven-plugin  -DarchetypeVersion=2.2.0

8.EJB3 Entity with GWT Client,
1.GWT  client    端需要编译成javascript,所以要在 GWT client端使用EJB Entity,则在 client端需要有Entity的源码,
Entity的源码可以在 EJBModel 打包时换源码打包进jar包(用maven):
<build>
        <!--如果不手动指定resource则默认打包 resources目录下的内容,手动指定后则只打包指定的内容 下例中 ejbmodel为Entity所在目录-->
       <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/ejbmodel/*.java</include>
                </includes>
            </resource>
            <resource>
              <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
            </resource>
        </resources>

2.    还需要  all enums & interfaces from javax.persistence  java.io.Serializable as an alias for com.google.gwt.user.client.rpc.IsSerializable


1.download gwt sdk
2.netbean gwtplugin: gwt4nb https://gwt4nb.dev.java.net/ -->download
3.code.google.com/webtoolkit
4.create maven gwt project:  google: maven gwt archetype
UI:
http://code.google.com/webtoolkit/examples/
http://www.smartclient.com/smartgwt
分享到:
评论
1 楼 ldsjdy 2011-05-05  
String url = "http://localhost:8080/SyncBackend/ImportServlet";
        HttpURLConnection con = (HttpURLConnection) new URL(url).openConnection();
        con.setDoInput(true);
        con.setDoOutput(true);
        OutputStream os = con.getOutputStream();
        ObjectOutputStream oos = new ObjectOutputStream(os);
        oos.writeObject("1234client send.....");
        oos.flush();
        oos.close();

        // pw.close();
        int a = con.getResponseCode();
        System.out.println("a: " + a);
        InputStream is = con.getInputStream();
        ObjectInputStream ois = new ObjectInputStream(is);
        System.out.println("client receive: " + ois.readObject());

相关推荐

    gwt 练习 gwt学习

    1. **GWT SDK安装与设置**:首先,你需要下载并安装GWT SDK,配置IDE(如Eclipse或IntelliJ IDEA)以支持GWT项目开发。 2. **模块化(GWT Module)**:每个GWT项目都始于一个`.gwt.xml`模块文件,它定义了项目的...

    GWT入门 GWT中文教程

    GWT,全称为Google Web Toolkit,是Google推出的一款开源JavaScript开发框架,允许Java开发者使用Java语言来编写Web应用。GWT通过编译器将Java代码转换为高效的JavaScript,从而在客户端浏览器上运行。这个“GWT入门...

    GWT快速开发(GWT) 是一个Java软件开发框架用于开发类似于Google Maps和Gmail的AJAX应用程序。GWT的设计参考Java AWT包设计,类命名规则、接口设计、事件监听等。你可以用Java编程语言开发你的界面,然后用GWT编译器将Java类转换成适合浏览器执行的...

    1. **下载GWT**: - 访问官方网址: [http://code.google.com/webtoolkit/](http://code.google.com/webtoolkit/) - 下载最新版本的GWT开发工具包。 2. **安装GWT**: - 不需要传统的安装步骤,只需解压缩下载的...

    GWT

    1. **Java编程**:GWT允许开发者使用Java语言进行前端开发,利用Java的强大特性和丰富的库,同时避免了JavaScript的语法差异和兼容性问题。 2. **自动编译**:GWT将Java代码编译为优化过的JavaScript,这使得应用...

    Gwt中文手册,GWt入门

    Gwt中文手册,GWt入门Gwt中文手册,GWt入门Gwt中文手册,GWt入门

    进阶GWT,属于GWT的详细描述

    GWT开发基础知识点 在本资源中,我们将讨论Google Web Toolkit(GWT)的基础知识点,包括GWT的安装、配置、编码基础和客户端代码编写等方面的内容。 GWT安装和配置 在Eclipse中添加GWT插件是使用GWT开发的第一步...

    smartgwt最新版本GWT的DEMO

    1. **组件使用**:SmartGWT中的组件如Grid(表格)、Form(表单)、Tree(树形结构)、Dialog(对话框)等,都有详细的示例展示。开发者可以通过这些例子了解如何创建、配置和操作这些组件。 2. **数据绑定**:...

    GWT Demo,GWT学习时的一些小例子

    1. **Java-to-JavaScript 编译器**:GWT的核心特性之一是它的编译器,它将Java源代码转换为可以在所有主流浏览器上运行的优化JavaScript代码。这使得开发者能够使用熟悉的Java语法和工具链进行开发,同时也确保了...

    GWT开发环境JAVA

    1. **开发工具**:GWT提供了Eclipse插件,使得开发者可以在熟悉的IDE中进行开发,包括代码编辑、调试和项目管理等功能。 2. **编译器**:GWT的编译器将Java源代码转换为高效的JavaScript和HTML,这个过程称为"编译...

    GWT入门和进阶

    GWT,全称为Google Web Toolkit,是Google推出的一款开源JavaScript开发框架,用于构建高性能的、客户端的Web应用程序。GWT允许开发者使用Java语言编写代码,然后自动编译为优化过的JavaScript,使得开发者能够利用...

    gwt揭秘源代码

    1. **Java到JavaScript的编译**:GWT编译器将Java代码转化为高效的JavaScript,使得开发者可以用Java进行前端开发。 2. **代码分割**:为了提高加载速度,GWT支持按需加载部分代码,用户只需下载他们实际使用的功能...

    GWT简介.docx

    1. **Java编程模型**:GWT使用Java作为开发语言,使得开发者可以利用强大的Java生态系统和成熟的开发工具,如IDEA、Eclipse等,进行Web应用开发。Java代码经过编译器转换为JavaScript,提供了一种高效、便捷的开发...

    Google plugin sdk GWT

    1. **安装Java Development Kit (JDK)**:首先,确保你的机器上已经安装了最新的JDK,因为GWT是用Java编写的,所以它是必需的。 2. **获取Google Plugin for Eclipse**:Eclipse是GWT开发的常见IDE,因此需要下载并...

    GWT安装和使用

    ### GWT安装与使用详解 #### 一、GWT特性简介 **1. 动态、可重用的UI组件** GWT 提供了一系列丰富的 UI 组件库,这些组件不仅功能强大而且高度可定制,使得开发者能够轻松地构建美观且交互性强的用户界面。每个 UI...

    gwt实例,基于gwt-windows-1.5.2

    1. **GWT模块化**:GWT项目通常由一个或多个模块组成,每个模块包含一个或多个Java源文件。这些源文件会被编译成JavaScript,并在浏览器中运行。在“gwt-windows-1.5.2”中,你可能看到的是`.gwt.xml`配置文件,用于...

    gwt入门-gwt从这里开始

    1. **GWT 编译器**: GWT 的核心部分是其编译器,它能够将 Java 代码转换为浏览器可执行的 JavaScript。这使得开发者可以利用 Java 的强大功能和成熟的开发工具,同时享受 JavaScript 在 web 开发中的灵活性。 2. ...

    GWT DEMO 增删改查

    1. **创建(Create)**:在GWT中,创建新记录通常涉及到表单的创建和提交。开发者可以使用`FormPanel`或`VerticalPanel`等组件来构建用户界面,通过`TextBox`、`DateBox`等控件获取用户输入的数据。然后,通过调用...

Global site tag (gtag.js) - Google Analytics