通行证: 用户 密码 域名空间  下载中心 社区论坛 信息公告 MY小屋
联系我们
设为首页
加入收藏

 

QQ,ASP,PHP,JSP,XML,SQL,.Net,编程 程序 网页图象 建站经验 私服
首页 | 新闻资讯 | 编程开发 | 网页设计 | 图形图象 | 网络媒体 | 网站模板 | 数 据 库 | 投稿
论坛 | 操作系统 | 系统优化 | 网络安全 | 黑客技术 | 硬件学堂 | 硬件报价 | 服 务 器 | 地图
专题 | 应用软件 | 聊天通讯 | Q Q 专栏 | 建站经验 | 在线工具 | 站长Club | 注 册 表 | 旧版
社会 | 游戏娱乐 | 设计欣赏 | 疑难解答 | 社区论坛 | 韩国素材 | 素材图库 | 广告服务 | 服务
当前位置:首页>>编程开发>>AJAX>>正文 新版上线![旧版]
注:打开慢时请稍等

Ajax技术:构建动态的Java应用程序

http://www.iyit.net  日期:2006-5-25 14:35:04  来源:网络转载   点击:
参加讨论

列表4是处理Ajax请求并更新购物车的简单servlet的代码片断。从用户会话中检索出一个Cart Bean,并按请求的参数更新它。

之后Cart Bean被序列化到XML,并被写回ServletRespone。注意,一定要将响应内容的类型设置为application/xml,否则,XMLHttpRequest将不能将响应内容解析为一个XML DOM。

列表4:处理Ajax请求的Servlet代码

public void doPost(HttpServletRequest req,

HttpServletResponse res)

throws Java.io.IOException

{

Cart cart = getCartFromSession(req);

String action = req.getParameter("action");

String item = req.getParameter("item");

if ((action != null)&&(item != null))

{

// 在购物车中添加或移除一个条目

if ("add".equals(action))

{

cart.addItem(item);

} else if ("remove".equals(action))  {

cart.removeItems(item);

}

}

// 将购物车状态序列化到XML

String cartXml = cart.toXml();

// 将XML写入response.

res.setContentType("application/xml");

res.getWriter().write(cartXml);

}

列表5展示了由Cart.toXml()方法生成的XML。注意到生成的cart元素的属性,是一个通过System.currentTimeMillis()生成的时间戳。

列表5:Cart对象序列化得到的XML




total="$171.95">



Hat

2





Chair

1





Dog

1



如果你观察一下下载站点提供的例子应用源码中的Cart.Java,你将会看到它通过简单地追加字符串来生成XML。对于本例子来说,它已经足够了,我将会在本系统文章的以后一期中介绍一些更好的方法。

现在你知道了CartServlet如何响应一个XMLHttpRequest。下一步是返回到客户端,如何用服务器响应来更新页面状态。

通过JavaScript来处理服务器响应

XMLHttpRequest的readyState属性是一个给出请求生命周期状态的数字值。它从表示“未初始化”的0变化到表示“完成”的4。每次readyState改变时,都会引发readystatechange事件,通过onreadystatechange属性配置回调处理函数将会被调用。

在列表3中,你已看到通过调用函数getReadyStateHandler()创建了一个处理函数,并被配置给onreadystatechange属性。getReadyStateHandler()使用了这样的事实:函数是JavaScript中的主要对象。

这意味着,函数可以作为参数被传递到其它函数,并且可以创建并返回其它函数。getReadystateHandler()要做是就是返回一个函数,来检查XMLHttpRequet是否已经完成处理,并传递XML服务器响应到由调用者指定的处理函数。列表6是getReadyStateHandler()的代码。

列表6:函数getReadyStateHandler()

/*

* Returns a function that waits for

the specified XMLHttpRequest

* to complete, then passes its XML

response to the given handler function.

* req - The XMLHttpRequest

whose state is changing

* responseXmlHandler -

Function to pass the XML response to

*/

function getReadyStateHandler(req,

responseXmlHandler) {

// 返回一个监听XMLHttpRequest实例的匿名函数

return function ()

{

// 如果请求的状态是“完成”

if (req.readyState == 4)

{

// 检查是否成功接收了服务器响应

if (req.status == 200)

本新闻共6页,当前在第3页  1  2  3  4  5  6  


编辑:黑鹰 [发送给好友] [打印本页] [关闭窗口] [返回顶部]
上一篇:Perl的Ajax实现与中文问题
下一篇:.net Ajax无刷新技术
转载请注明来源:www.iyit.net
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

 相关文章
JSON-RPC-Java 和DWR比较 Ajax 的 Java 对象序列化 将java和Ajax结合在一起
AJAX框架JSON-RPC-Java 1.0rc2 发布 MD5加密的javascript实现例子 PHP与JavaScript对多项选择的处理
PHP和Java 一个简单编程思想在php与java中的实现比 怎样使用PHP调用功能强大的JAVA类库
封装常用Javascript以便PHP快速调用 可折叠大纲javascript脚本 JSP调用JavaBean在网页上动态生成柱状图
在JSP中使用JavaMail jsp中javaBean的运用  Java socket功能的一个小应用
Jsp + JavaBean循序渐进教程 javamail在jsp中调用 二 javamail在jsp中调用 一
利用Java实现zip压缩/解压缩 Sun Java Web Server 能让攻击者远程执 Netscape 修复 JAVA 安全漏洞
CNET JSP BASIC:JSP与JavaBean Java和ASP的交互(二) Java和ASP的交互(一)
最新更新 热点排行 推荐新闻
怎样使用AJAX进行应用程序开发
JSON-RPC-Java 和DWR比较
DWR让Ajax如此简单
Atlas—微软的Ajax工具包
基于Ajax的应用程序架构汇总
怎样使用AJAX进行应用程序开发
JSON-RPC-Java 和DWR比较
DWR让Ajax如此简单
Atlas—微软的Ajax工具包
基于Ajax的应用程序架构汇总
AJAX案例研究之google suggest
用AJAX开发智能Web应用程序之基础篇
用AJAX开发智能Web应用程序之高级篇
WEB2.0中AJAX应用的详解
AJAX及使用E4X编写Web服务脚本
怎样使用AJAX进行应用程序开发
JSON-RPC-Java 和DWR比较
DWR让Ajax如此简单
Atlas—微软的Ajax工具包
基于Ajax的应用程序架构汇总
优秀公益广告作品欣赏(8)
java数据类型转换
Windows XP专业版IIS连接数的更改
新开放QQ免费挂级网站
优秀公益广告作品欣赏(7)
免费在QQ上看在线电影电视听音乐
WEB服务器配置全攻略(三)
QQ珊瑚虫外挂4.0版本发布!
免费把QQ炫铃设为本机QQ的系统提示音
Office2007简体中文版浮出水面 美图抢
如何在Win20003中更好的玩游戏
QQ收费头像免费使用的方法 
微软将在华推分期付款,充值卡PC 可低价
 AMD处理器AM2测试 风扇竟运行7分钟
exeplorer.exe错误的问题的总结、解决
ASP.NET 2.0 中的异步页功能应用
硬盘坏道修复及数据恢复宝典
免费登录搜索引擎入口大全
搜索引擎注册九大秘法
小心摄像头成为黑客偷窥你的眼睛
 友情链接
设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyrights © 2004-2006 iYiT.Net All Rights Reserved.
网站合作、广告联系QQ:147007642、466949678
易特网络技术 点击这里给我发消息