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

 

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

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

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

列表2:跨浏览器创建一个XMLHttpRequest

/*

* 返回一个新建的XMLHttpRequest对象,

若浏览器不支持则失败

*/

function newXMLHttpRequest()

{

var xmlreq = false;

if (window.XMLHttpRequest)

{

// 在非Microsoft浏览器中

创建XMLHttpRequest对象

xmlreq = new XMLHttpRequest();

} else if (window.ActiveXObject)

{

//通过MS ActiveX创建XMLHttpRequest

try {

// 尝试按新版InternetExplorer方法创建

xmlreq = new ActiveXObject

("Msxml2.XMLHTTP");

} catch (e1) {

// 创建请求的ActiveX对象失败

try {

// 尝试按老版InternetExplorer方法创建

xmlreq = new ActiveXObject

("Microsoft.XMLHTTP");

} catch (e2) {

// 不能通过ActiveX创建XMLHttpRequest

}

}

}

return xmlreq;

}

稍后,我将讨论如何对待不支持XMLHttpReauest的浏览器的一些技巧。现在,列表2中展示的示例函数将总是可以返回一个XMLHttpReauest实例。

回到购物车例子的场景中,只要用户针对某一个目录条目点击了Add to Cart按钮,我就要调用一个Ajax交互。名为addToCart()的onclick函数通过Ajax调用(如列表1中所示)来负责更新购物车的状态。

在列表3中,addToCart()要做的第一件事就是通过调用newXMLHttpReauest函数(如列表2中所示)来获取一个XMLHttpRequest的实例,并且注册一个回调函数来接受服务器响应(我将在稍后详细解释,请参见列表6)。

因为,此请求将会修改服务器状态,我将使用一个HTTP POST来处理它。通过POST传送数据需要三个步骤:首先,我需要打开一个到进行通讯的服务器资源的POST连接—在现在例子中是一个URL映射为cart.do的服务器端servlet。

下一步,设置XMLHttpRequest的头信息,以标志请求的内容为form-encoded。最后,将form-encoded数据作为请求体,并发送此请求。列表3中集中展示了这些步骤。

列表3:发送一个添加到购物车XMLHttpRequest

/*

* 通过产品编码,在购物车中添加一个条目

* itemCode – 需要添加条目的产品编码

*/

function addToCart(itemCode)

{

// 获取一个XMLHttpRequest实例

var req = newXMLHttpRequest();

// 设置用来从请求对象接收回调通知的句柄函数

var handlerFunction =

getReadyStateHandler(req, updateCart);

req.onreadystatechange =

handlerFunction;

// 打开一个联接到购物车servlet的

HTTP POST联接

// 第三个参数表示请求是异步的

req.open("POST", "cart.do", true);

// 指示请求体包含form数据

req.setRequestHeader("Content-Type",

"application/x-www-form-urlencoded");

// 发送标志需要添加到购物车

中条目的form-encoded数据

req.send("action=add&item="+itemCode);

}

结合以上内容,你可以了解到Ajax处理过程的第一部分—就是在客户端创建并发送HTTP请求。下一步是用来处理请求的Java Servlet代码。

Servlet请求处理

通过一个servlet来处理XMLHttpRequest与处理一个来自浏览器的普通的HTTP请求基本上相似。可以通过调用HttpServletRequest.getParameter()来获取由POST请求体传送过来的form-encoded数据。

Ajax请求也与普通的WEB请求样都成为此应用同一HttpSession会话进程的一部分。这对于购物车例子来说很有肜,因为我们可以通过会话将多个请求的状态都保存到同一个JavaBean购物车对象中,并可以序列化。

本新闻共6页,当前在第2页  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
易特网络技术 点击这里给我发消息