ajax 的 java 对象序列化.docx
《ajax 的 java 对象序列化.docx》由会员分享,可在线阅读,更多相关《ajax 的 java 对象序列化.docx(20页珍藏版)》请在第壹文秘上搜索。
1、ajax的java对象序列化面对Java开发人员的Ajax:Ajax的Java对象序列化在AjaX应用程序中序列化数据的五种途径假如您正在运用异步JavaScript和XM1.(Ajax)进行JavaWeb开发,那么您最关切的问题可能就是把数据从服务器传递给客户机。在面对Java开发人员的Ajax系列的其次篇文章中,PhilipMcCarthy介绍了Java对象序列化的五种方式,并供应了选择最适合应用程序的数据格式和技术所须要的全部信息。在这个系列的第一篇文章中,我介绍了Ajax的构造块:如何用JavaScriptXM1.HttpRequest对象从Web页面对服务器发送异步恳求。如何用Jav
2、aservlet处理和响应恳求(向客户机返回XM1.文档)。如何在客户端用响应文档更新页面视图。这一次,我将接着探讨Ajax开发的基础学问,但是将侧重于很多JavaWeb开发人员最关切的问题:为客户机生成数据。多数JaVa开发人员已经把模型-视图-限制器(MvC)模式应用在他们的Web应用程序上。在传统的Web应用程序中,视图组件由JSP或者其他表示技术(例如VeIOeity模板)构成。这些表示组件动态地生成全新的HTM1.页面,替代用户以前正在查看的页面,从而更新用户界面。但是,在JavaWeb应用程序运用jaxUI的状况下,基于从XM1.HttpRequest的响应接收到的数据,JaVaS
3、CriPt客户端代码对于更新用户看到的内容负有最终责任。从服务器的角度来看,视图成为它响应客户机恳求而发送的数据表示。这篇文章侧重于可以用来生成Java对象以数据为中心的视图的技术。我将演示可以把JavaBCanS变成XM1.文档的各种方法,并且探讨每种方法的优劣。您将看到为什么XM1.并不总是最好的途径:对于简洁的Ajax恳求来说,传输纯文本更好。最终,我将介绍JavaScript对象标注(JSON)。JSON允许数据以序列化的JavaScript对象图的形式传输,在客户端代码中处理序列化的JaVaSCriPI对象图极为简洁。关于示例我将运用一个示例应用程序和几个用例来演示这里探讨的技术特性
4、和技术。图1显示的极为简洁的数据模型可以表示示例用例。这个模型代表在线商店中的顾客帐户。顾客拥有以前订单的集合,每个订单包含几个商品。图1.简洁的对象模型虽然XM1.HttpRcquest对于发送数据运用的格式没有做任何限制,但是对于多数目的来说,只发送传统的表单数据是适合的,所以我的探讨集中在服务器的响应上。响应也可以有基于文本的格式,但是正如它的名字表示的,XM1.HttpRequest具有内置的处理XM1.响应数据的实力。这使XM1.成为Ajax响应的默认选择,所以我们从XM1.格式起先探讨。从Java类产生XM1.把Ajax响应作为XM1.来传递有很多缘由:每个支持Ajax的阅读器都有
5、导航XM1.文档的方法,也有很多服务器端技术可以处理XM1.数据。通过制定一个方案,描述要交换的文档类型,在Ajax客户端和服务器端之间很简洁定义合约,而且假如服务器端架构采纳面对服务的方式,那么运用XM1.也可以允许非Ajax客户机运用您供应的数据。我将考虑从Java对象产生XM1.数据的三种方法,并探讨每种方法的优劣。回页首闩行进行序列化首先,可以从对象图以编程的方式生成XM1.这种方式可以简洁到只是在每个JavaBean类中实现toXml()方法即可。然后就可以选择合适的XM1.API,让每个bean供应表示H己状态的元素,并递归地对自己的成员调用对象图。明显,这种方式无法扩展到大量的类
6、,因为每个类都须要特地编写自己的XM1.生成代码。从好的方面来看,这是一个实现起来简洁的方式,没有额外的配置支出或者更困难的构建过程支出,任何JavaBean图都可以只用几个调用就变成XM1.文档。在本系列前一篇文章的示例代码中,我把XM1.标记字符串连接在一起,实现了toXml()方法。上次我就提到过,这是个糟糕的方法,因为它把确保标记配对、实体编码等工作的负担放在每个toXml()方法的代码中。在Java平台上有几个XM1.API可以替您做这些工作,这样您就可以把精力集中在XM1.的内容上。清单1用Jf)OMAPI实现了在线商店示例中表示订单的类中的toXml()(请参阅图1):清单1.O
7、rder类的toXml()的JI)OM实现publicElementtoXmlO(ElementelOrder=newElement(order):elrder.SetAttribute(id,id);elOrder.SetAttribute(cost,getFormattedCostO);ElementelDate=newElement(date).addContent(date);elOrder.addConte11t(elDate);ElementelItems=newElement(items);for(IteratorItemiter=iterns,iteratorO;iter.ha
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ajax java 对象序列化 对象 序列
