一路拾遺
Collect By Finding All The Way ......
BlogJava
首頁
新隨筆
新文章
聯(lián)系
聚合
管理
posts - 81,comments - 41,trackbacks - 0
<
2009年12月
>
日
一
二
三
四
五
六
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
我的博客開張啦!歡迎大家多多來踩!
常用鏈接
我的隨筆
我的評(píng)論
我的參與
最新評(píng)論
留言簿
(5)
給我留言
查看公開留言
查看私人留言
隨筆檔案
2010年9月 (1)
2010年6月 (2)
2010年5月 (5)
2009年12月 (4)
2009年11月 (3)
2009年10月 (2)
2009年8月 (2)
2009年7月 (4)
2009年6月 (5)
2009年5月 (1)
2009年4月 (2)
2008年12月 (2)
2008年11月 (1)
2008年10月 (1)
2008年9月 (4)
2008年8月 (12)
2008年7月 (30)
文章檔案
2008年12月 (1)
相冊(cè)
畢業(yè)照
搜索
積分與排名
積分 - 64478
排名 - 823
最新評(píng)論
1.?re: myeclipse開發(fā)hibernate應(yīng)用程序示例[未登錄]
真的好好...
--云
2.?re: myeclipse開發(fā)hibernate應(yīng)用程序示例
做得很認(rèn)真,頂一個(gè)
--~!
3.?re: myeclipse開發(fā)hibernate應(yīng)用程序示例[未登錄]
not bad
--1
4.?re: myeclipse開發(fā)hibernate應(yīng)用程序示例
類名一定要大寫,hibernate版本要小于4才行!?。。。?!
--第三方
5.?re: myeclipse開發(fā)hibernate應(yīng)用程序示例
有錯(cuò)誤啊
--第三方
閱讀排行榜
1.?myeclipse開發(fā)hibernate應(yīng)用程序示例(15649)
2.?使用AXIS調(diào)用WSDL描述的Web服務(wù)(9685)
3.?使用AXIS調(diào)用WSDL描述的Web服務(wù)(續(xù))(6045)
4.?基于RemoteObject方式的Java-Flex交互(USING LCDS)(2680)
5.?Java WebService注冊(cè)中心JUDDI配置方法(2198)
評(píng)論排行榜
1.?myeclipse開發(fā)hibernate應(yīng)用程序示例(16)
2.?使用UDDI4J連接JUDDI(10)
3.?使用AXIS調(diào)用WSDL描述的Web服務(wù)(續(xù))(5)
4.?使用AXIS調(diào)用WSDL描述的Web服務(wù)(3)
5.?找實(shí)習(xí)的傷心事(2)
AJAX技術(shù)初探
一、連接的建立
<
script type
=
"
text/javascript
"
>
var
request;
window.onload
=
function
()
{
listApi();
}
function
createRequest()
{
try
{
request
=
new
XMLHttpRequest();
}
catch
(trymicrosoft)
{
try
{
request
=
new
ActiveXObject(
"
Msxml2.XMLHTTP
"
);
}
catch
(othermicrosoft)
{
try
{
request
=
new
ActiveXObject(
"
Microsoft.XMLHTTP
"
);
}
catch
(failed)
{
request
=
false
;
}
}
}
if
(
!
request)
alert(
"
Error initializing XMLHttpRequest!
"
);
}
二、服務(wù)器端Servlet
這是doGet方法,即將參數(shù)寫在調(diào)用串中。
public
void
doGet(HttpServletRequest request, HttpServletResponse response)
throws
ServletException, IOException
{
response.setContentType(
"
text/xml
"
);
response.setHeader(
"
Cache-Control
"
,
"
no-cache
"
);
request.setCharacterEncoding(
"
GBK
"
);
response.setCharacterEncoding(
"
UTF-8
"
);
int
restMethodId
=
Integer.parseInt(request.getParameter(
"
restMethodId
"
));
String xml_start
=
"
<methodDetail>
"
;
String xml_end
=
"
</methodDetail>
"
;
StringBuilder xml
=
new
StringBuilder();
xml.append(xml_start);
RestDao restDao
=
new
RestDao();
RestMethod restMethod
=
restDao.getRestMethod(restMethodId);
xml.append(
"
<name>
"
);
xml.append(zhuanYi(restMethod.getRestMethodName()));
xml.append(
"
</name>
"
);
xml.append(xml_end);
String xmlString
=
xml.toString();
xmlString
=
xmlString.replace(
"
"
,
"
"
);
xmlString
=
xmlString.replace(
"
&
"
,
"
&
"
);
response.getWriter().write(xmlString);
}
三、頁面發(fā)送請(qǐng)求
這里調(diào)用的Servlet的Get調(diào)用,即調(diào)用doGet方法。這種方式適合于參數(shù)是簡(jiǎn)單數(shù)據(jù),這樣可以把參數(shù)卸載調(diào)用url中。
對(duì)于參數(shù)是復(fù)雜的數(shù)據(jù)對(duì)象時(shí),應(yīng)該調(diào)用doPost方法,即在調(diào)用串中不包含調(diào)用參數(shù),而是把調(diào)用參數(shù)寫在request.send(參數(shù)對(duì)象)中,doGet調(diào)用時(shí)此處為null。
function
getMethodDetail(methodId)
{
var
id
=
methodId.substr(
6
);
var
url
=
"
servlet/getMethodDetail?restMethodId=
"
+
escape(id);
call(url);
}
function
call(url)
{
createRequest();
if
(request)
{
request.open(
"
GET
"
,url,
true
);
request.onreadystatechange
=
callback;
request.send(
null
);
}
}
四、回調(diào)函數(shù)
function
callback()
{
if
(request.readyState
==
4
)
{
if
(request.status
==
200
)
{
parseMessage();
}
else
{
alert(
"
不能得到方法信息:
"
+
req.statusText);
}
}
}
五、解析返回XML、操作Dom以實(shí)現(xiàn)頁面動(dòng)態(tài)變化
//
解析返回xml的方法
function
parseMessage()
{
var
xmlDoc
=
request.responseXML.documentElement;
if
(xmlDoc.nodeName
==
"
apis
"
)
{
updateApi(xmlDoc);
}
else
if
(xmlDoc.nodeName
==
"
methods
"
)
{
updateMethod(xmlDoc);
}
else
if
(xmlDoc.nodeName
==
"
methodDetail
"
)
{
updateMethodDetail(xmlDoc);
}
else
{
alert(
"
NO Api
"
);
}
}
function
updateApi(xmlDoc)
{
var
apis
=
xmlDoc.getElementsByTagName(
"
api
"
);
var
apiul
=
document.getElementById(
"
apiul
"
);
equalCount(apis.length, apiul);
var
apiliArray
=
apiul.getElementsByTagName(
"
li
"
);
for
(
var
i
=
0
; i
<
apiliArray.length; i
++
)
{
apiliArray[i].onclick
=
function
()
{listMethod(
this
.id);}
var
apiId
=
apis[i].childNodes[
0
].firstChild.nodeValue;
apiliArray[i].id
=
"
api
"
+
apiId;
var
apiName
=
apis[i].childNodes[
1
].firstChild.nodeValue;
var
nameText
=
document.createTextNode(apiName);
apiliArray[i].removeChild(apiliArray[i].childNodes[
0
]);
apiliArray[i].appendChild(nameText);
}
}
posted on 2009-12-04 11:07
胖胖泡泡
閱讀(144)
評(píng)論(0)
編輯
收藏
新用戶注冊(cè)
刷新評(píng)論列表
只有注冊(cè)用戶
登錄
后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
Copyright ©2025 胖胖泡泡 Powered By
博客園
模板提供:
滬江博客
主站蜘蛛池模板:
亚洲一区二区三区影院
|
久久www免费人成看片
|
春意影院午夜爽爽爽免费
|
亚洲熟妇无码AV
|
男人天堂2018亚洲男人天堂
|
亚洲香蕉久久一区二区三区四区
|
国产成人精品亚洲日本在线
|
久久WWW免费人成人片
|
av免费不卡国产观看
|
欧美a级在线现免费观看
|
成**人免费一级毛片
|
国产成人免费片在线观看
|
亚洲乱亚洲乱少妇无码
|
亚洲色偷偷偷鲁综合
|
久久狠狠高潮亚洲精品
|
亚洲AV无码国产精品色
|
亚洲精品日韩一区二区小说
|
人人爽人人爽人人片A免费
|
中文字幕无码毛片免费看
|
99久久免费精品高清特色大片
|
国产a视频精品免费观看
|
午夜视频免费成人
|
亚洲成A人片在线观看无码3D
|
无码国产精品一区二区免费
|
皇色在线视频免费网站
|
国产嫩草影院精品免费网址
|
久久精品国产亚洲Aⅴ蜜臀色欲
|
久久亚洲AV无码精品色午夜麻
|
久久亚洲精品中文字幕
|
亚洲无mate20pro麻豆
|
无套内谢孕妇毛片免费看看
|
免费观看一区二区三区
|
日本在线高清免费爱做网站
|
免费v片在线观看
|
亚洲精品乱码久久久久66
|
亚洲国产高清美女在线观看
|
亚洲视频手机在线
|
亚洲高清一区二区三区电影
|
亚洲精品9999久久久久无码
|
亚洲国产成人精品无码区花野真一
|
亚洲精品天堂在线观看
|