




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.,1,GWT技术介绍,GiftCJWBUAA-ACT2007-3-19,-如何使用Java语言开发Ajax应用,.,2,什么是Ajax,Ajax是AsynchronousJavaScriptandXML(以及DHTML等)的缩写,由XHTML、CSS、JavaScript、XMLHttpRequest、XML等技术组合而成,是当前Web应用开发领域的热门技术,用于创建更加动态和交互性更好的Web应用程序,提升用户的浏览体验。Ajax的核心是JavaScript对象XmlHttpRequest。XmlHttpRequest处理所有服务器通信的对象,是一种支持异步请求的技术。XmlHttpRequest可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。,.,3,困难在哪,如何解决,因为JavaScript不易调试,所以编写AJAX应用程序往往让人头痛。GoogleWebToolkit(GWT)是一个使用Java语言开发Ajax应用的开发框架。在开发和调试AJAX应用程序时,和其它的Java程序没有任何区别,选用什么样的Java开发工具完全由自己的喜好所定。开发完毕以后要部署到应用服务器中,GWT自带的编译器将Java应用程序编译成与浏览器兼容的JavaScript和HTML页面。,.,4,GWT的特点,动态,可重用的UI组件简单的RPC调用方便的调试功能浏览器兼容性(IE,Opera,Firefox)可扩展性(JSNI),.,5,GWT四大组成,一个Java-to-JavaScriptcompiler一个“hosted”web浏览器,两套Java类库,.,6,两种模式,HostMode(宿主模式):未编译前,在GWT提供的HostMode的浏览器中查看。可以用于调试GWT程序,会打出异常位置。WebMode:编译后,在浏览器中查看。,.,7,如何开发GWT应用,a.将用到的GWT库添加到IDE里,在IDE中用Java语言编写和调试一个应用程序。b.使用GWT自带的Java2JavaScript编译器将写出来的代码编译成JavaScript和HTML文件。c.将编译后的代码发布到WebServer上。d.检测是否满足主流的浏览器。(一般没有问题),.,8,在Eclipse下开发-第一步-创建工程,1创建Eclipse工程第一步使用:projectCreatoreclipse工程名称比如:projectCreator-eclipseDemoProject第二步使用:applicationCreator-eclipse工程名称类包名称.client.类名比如:applicationCreator-eclipseMyProjectorg.buaa.client.DemoApplication,.,9,Eclipse下开发-第二步-导入Eclipse,.,10,在Eclipse下开发-第二步-修改入口类,添加相应代码,每一个GWT程序都有一个入口点,必须继承自EntryPoint接口,实现OnModuleLoad方法其事件触发模式是类似于AWT当中的处理模式。,事件触发,入口点,.,11,在Eclipse下开发-第三步-编译,点击Test-Shell.cmd可以开启HostedMode,并察看运行结果或者点击Test-Compile.cmd,可以开启WebMode,将代码解析成为javascript,并可以在Web浏览器中察看。,.,12,在Eclipse下开发-第四步-部署和执行,部署到Tomcat等应用服务器当中。,.,13,GWT类库总览,com.google.gwt.core.client用于客户端的GWT基本代码com.google.gwt.core.ext用于扩展GWT编译器的类.com.google.gwt.core.ext.typeinfo为支持自动生成功能的类库com.google.gwt.http.client提供对HTTP的请求响应处理类com.google.gwt.i18n.client国际化com.google.gwt.json.client解析和创建Json类型的类库com.google.gwt.junit.clientJunit测试com.google.gwt.user.client客户端使用的基本GWT接口.com.google.gwt.user.client.rpc客户端为使用RPC功能的GWT接口.com.google.gwt.user.client.uiWidgets,Panels,以及其他的UI接口com.google.gwt.user.server.rpc服务端为了实现RPC调用实现的接口.com.google.gwt.xml.clientXML的解析和使用,.,14,GWT类库-UI,在UI类库中,GWT提供了若干种widgets和panels。所有的类都继承自widget,并被加入到panel中被显示。Panels包括DockPanel,HorizontalPanel,和RootPanel等Widgets包括Composite,FileUpload,FocusWidget,Frame,Hidden,Hyperlink,Image,Label,MenuBar,Panel和Tree等等,.,15,GWT类库-UI组件,.,16,GWT类库-RPC,.,17,GWT类库-RPC,客户端和服务端进行交互。在服务端加入对RPC服务的处理。在客户端的AsyncCallback接口实现中对结果进行处理。(异步处理)GWT自动的对各种数据类型进行序列化和反序列化处理。,.,18,GWT类库-HTTP,支持POST和GET两种HTTP方法。例子:GET的使用HTTPRequest.asyncGet(customerRecord.xml,newResponseTextHandler()publicvoidonCompletion(StringresponseText)/Intherealworld,thistextwouldcomeasaRPCresponse.This/techniqueisgreatfortestingandsamplesthough!renderXML(responseText);,.,19,GWT类库-DOM的处理,Packagecom.google.gwt.xml.client包括对XML类型的解析处理类Documentdoc=XMLParser.parse(string);XMLParser.removeWhitespace(doc);对XML的使用Node,Element.etc.,.,20,GWT类库-JSON的支持,JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptProgrammingLanguage,StandardECMA-2623rdEdition-December1999的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C,C+,C#,Java,JavaScript,Perl,Python等)。这些特性使JSON成为理想的数据交换语言。GWT对JSON进行了支持。JSON的功能可以用XMLDOM代替。,.,21,JSON格式的例子,使用JSON:comments:id:1,author:someone1,url:,content:hello,id:2,author:someone2,url:,content:hello,id:3,author:someone3,url:,content:hello;,使用XML表示1someone1hello2someone2someone13someone3hello,.,22,GWT类库-JSNInative接口,JavaScriptNativeInterface(JSNI)JSNI方法被声明为native方法,并在如下的格式中包含了JavaScript代码。他可以支持在Java代码中嵌入JavaScript.publicstaticnativevoidalert(Stringmsg)/*-$wnd.alert(msg);-*/;,.,23,GWT类库-Junit-对GWT进行测试,继承GWTTestCase抽象类实现getModuleName方法publicclassFooTestextendsGWTTestCasepublicStringgetModuleName()returncom.example.foo.Foo;publicvoidtestStuff()assertTrue(2+2=4);,.,24,GWT-Designer像VB那么拖拽开发,演示1)如何建立GWT工程2)如何在Eclipse里进行开发3)开发GUI以及进行相应的事件处理4)RPC调用以及同GUI的结合5)HTTP异步调用以及DOM-XML格式的处理,.,25,GWT小结,使用一、二种技术(gwt、cs
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025美容院化妆品销售合同书
- 2025标准合同模板:境内外服务派遣与雇佣协议
- 2025铝材销售合同模板
- 机房安全培训试题及答案解析
- 手工地毯制作工职业技能考核试卷及答案
- 化工热交换工突发故障应对考核试卷及答案
- 道路安全员考试试题库及答案解析
- 饮食安全知测试题小学生及答案解析
- 广安证券从业资格考试及答案解析
- 辽宁安全员a证题库及答案解析
- 云南学法减分题库及答案
- 幼儿园大班数学活动《4的分解与组合》课件
- 2025秋七年级开学新生家长会《启幕新篇章携手创辉煌》【课件】
- 2025年4月自考03450公共部门人力资源管理试题
- 2025年《数字孪生与虚拟调试技术应用》课程标准
- 生物●安徽卷丨2024年安徽省普通高中学业水平选择性考试生物试卷及答案
- 蓝牙耳机委托加工协议书
- 北京车牌出租协议书
- 忠诚协议书和婚内财产协议
- 2025-2030汽车贷款行业市场深度分析及发展策略研究报告
- 反诈知识进校园主题团课
评论
0/150
提交评论