JAVA相关Word文件下载.docx

上传人:b****3 文档编号:6300084 上传时间:2023-05-06 格式:DOCX 页数:21 大小:76.08KB
下载 相关 举报
JAVA相关Word文件下载.docx_第1页
第1页 / 共21页
JAVA相关Word文件下载.docx_第2页
第2页 / 共21页
JAVA相关Word文件下载.docx_第3页
第3页 / 共21页
JAVA相关Word文件下载.docx_第4页
第4页 / 共21页
JAVA相关Word文件下载.docx_第5页
第5页 / 共21页
JAVA相关Word文件下载.docx_第6页
第6页 / 共21页
JAVA相关Word文件下载.docx_第7页
第7页 / 共21页
JAVA相关Word文件下载.docx_第8页
第8页 / 共21页
JAVA相关Word文件下载.docx_第9页
第9页 / 共21页
JAVA相关Word文件下载.docx_第10页
第10页 / 共21页
JAVA相关Word文件下载.docx_第11页
第11页 / 共21页
JAVA相关Word文件下载.docx_第12页
第12页 / 共21页
JAVA相关Word文件下载.docx_第13页
第13页 / 共21页
JAVA相关Word文件下载.docx_第14页
第14页 / 共21页
JAVA相关Word文件下载.docx_第15页
第15页 / 共21页
JAVA相关Word文件下载.docx_第16页
第16页 / 共21页
JAVA相关Word文件下载.docx_第17页
第17页 / 共21页
JAVA相关Word文件下载.docx_第18页
第18页 / 共21页
JAVA相关Word文件下载.docx_第19页
第19页 / 共21页
JAVA相关Word文件下载.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

JAVA相关Word文件下载.docx

《JAVA相关Word文件下载.docx》由会员分享,可在线阅读,更多相关《JAVA相关Word文件下载.docx(21页珍藏版)》请在冰点文库上搜索。

JAVA相关Word文件下载.docx

 

2.客户端JavaScript响应处理函数会在处理完服务器返回的信息后,再次发出请求,重新建立连接。

3.当客户端处理接收的数据、重新建立连接时,服务器端可能有新的数据到达;

这些信息会被服务器端保存直到客户端重新建立连接,客户端会一次把当前服务器端所有的信息取回。

7.9.3PiggyBack(回传)

PiggyBack(回传)方法是DWR提供的一种“被动式”方法。

服务器端将最新的数据排成队列,然后等待客户端下一次请求,接收到请求后就将等待更新的数据发给客户端。

DWR会使用默认的设置是PiggyBack,所以在默认情况下,启用反向Ajax时,不会导致服务器超载。

7.9.4反向Ajax的配置与实现

要让DWR程序支持反向AJAX,只需要在web.xml中DWRServlet里添加一个初始化参数,添加内容为:

Java代码

1.<

servlet>

 

2. 

<

servlet-name>

dwr-invoker<

/servlet-name>

3. 

display-name>

DWR 

Servlet<

/display-name>

4. 

description>

Direct 

Web 

Remoter 

/description>

5. 

servlet-class>

org.directwebremoting.servlet.DwrServlet<

/servlet-class>

6.<

init-param>

7. 

param-name>

activeReverseAjaxEnabled<

/param-name>

8. 

param-value>

true<

/param-value>

9. 

/init-param>

10.<

11.<

12. 

/servlet>

13.<

servlet-mapping>

14. 

15. 

url-pattern>

/dwr/*<

/url-pattern>

16.<

/servlet-mapping>

<

DWRServlet<

DirectWebRemoterServlet<

如果应用的是轮询技术,则需要添加中下参数:

1.param-name>

org.directwebremoting.extend.ServerLoadMonitor<

2.<

org.directwebremoting.impl.PollingServerLoadMonitor<

除了上述配置,为启用反向Ajax,在页面中还需要一些JavaScript代码,即:

dwr.engine.setActiveReverseAjax(true);

只需要上述代码和web.xml文件中的配置,就可以激活反向Ajax了。

处理轮询请求的过程通常是在服务器端编写一些代码,以更新附加到服务器端的每个客户端的会话。

DWR会记录与之联系的每个客户端,分别存储每个客户端的会话。

这一点与通常的HTTP会话不同。

借助于此,可以调用JavaScript代码,下一个轮询请求会通知这些调用。

下面就是一个处理轮询请求的例子,服务器端的发布者实现代码如下:

1.package 

com.ajax.dwr;

2.import 

java.util.LinkedList;

3.import 

java.util.List;

4.import 

org.directwebremoting.Browser;

5.import 

org.directwebremoting.ScriptSessions;

6.public 

class 

SendMessage 

7.public 

void 

addMessage(String 

message) 

System.out.println("

有客户请求,消息为:

"

message);

messages.add(message);

10. 

Browser.withCurrentPage(new 

Runnable() 

{//启用监听客户端当前页线程 

11. 

public 

run() 

{//把数据添加到客户端调用的方法中 

ScriptSessions.addFunctionCall("

receiveMessages"

 

messages);

13. 

});

15.} 

16.private 

List<

String>

messages 

new 

LinkedList<

();

17.} 

packagecom.ajax.dwr;

importjava.util.LinkedList;

importjava.util.List;

importorg.directwebremoting.Browser;

importorg.directwebremoting.ScriptSessions;

publicclassSendMessage{

publicvoidaddMessage(Stringmessage){

System.out.println("

+message);

messages.add(message);

Browser.withCurrentPage(newRunnable(){//启用监听客户端当前页线程

publicvoidrun(){//把数据添加到客户端调用的方法中

ScriptSessions.addFunctionCall("

messages);

}

});

}

privateList<

messages=newLinkedList<

这里主要通过WebContext类获得DWR应用的WEB上下文,用ServletContext获得DWRServlet的上下文,以及通过WEB上下文获取访问本应用的客户端浏览器的ScriptSession。

一旦获得当前页面的名称,就可以获取当前连接到这个页面的所有会话列表。

然后,启用监听客户端当前页线程,把数据添加到客户端调用的方法中。

下面是在客户端执行的JSP页面文件,代码如下:

html>

head>

3.<

base 

href="

%=basePath%>

>

4.<

title>

starting 

page<

/title>

5.<

script 

type="

text/javascript"

src="

dwr/interface/SendMessage.js"

/script>

dwr/engine.js"

7.<

dwr/util.js"

8.<

function 

sendMessage() 

var 

message=$("

message"

).value;

SendMessage.addMessage(message);

receiveMessages(messages) 

16. 

chatlog 

;

17. 

for 

(var 

data 

in 

messages) 

18. 

div>

dwr.util.escapeHtml(messages[data]) 

/div>

chatlog;

19. 

20. 

dwr.util.setValue("

list"

chatlog, 

escapeHtml:

false 

21. 

22.<

23.<

/head>

24.<

body 

onload="

25.input 

message:

26.<

input 

id="

text"

/>

27.<

button"

value="

send"

onclick="

sendMessage()"

28.<

br>

29.<

div 

30.<

/body>

31.<

/html>

basehref="

startingpage<

scripttype="

src="

functionsendMessage()

{

varmessage=$("

SendMessage.addMessage(message);

functionreceiveMessages(messages)

varchatlog="

for(vardatainmessages){

chatlog="

+dwr.util.escapeHtml(messages[data])+"

+chatlog;

dwr.util.setValue("

chatlog,{escapeHtml:

false});

bodyonload="

inputmessage:

inputid="

type="

/>

inputtype="

value="

onclick="

divid="

Util类有很多很方便的方法,其中一个是setValue()。

这个方法类似于在客户端执行document.getElementById("

list"

).innerHTML="

,但是它会关注一些细节,比如目标元素是文本框或者其他元素。

在此,使用所记录的Date域的当前值来更新list的内容。

将第三个参数设为true,可以指定任何HTML内容,这样的话不会破坏客户端的任何内容

要用的java类在wr.xml文件配置内容如下:

create 

javascript="

SendMessage"

creator="

new"

scope="

application"

param 

name="

class"

com.ajax.dwr.SendMessage"

/param>

/create>

createjavascript="

creator="

scope="

paramname="

如果不希望使用轮询方法,那么可以非常容易地切换为用Comet方法,只需要把web.xml文件中如下代码注释掉:

如果应用PiggyBack方法,则不需要在web.xml中DWRServlet里添加上述初始化参数。

该例子中完整的web.xml配置内容如下;

?

xml 

version="

1.0"

encoding="

UTF-8"

web-app 

2.4"

xmlns="

3.xmlns:

xsi="

http:

//www.w3.org/2001/XMLSchema-instance"

4.xsi:

schemaLocation="

5. 

!

-- 

配置DWR的核心Servlet 

-->

指定DWR核心Servlet的名字 

dwr<

指定DWR核心Servlet的实现类 

org.directwebremoting.servlet.DwrServlet 

指定DWR核心Servlet处于调试状态 

debug<

设置使用反向Ajax技术 

22. 

23. 

24. 

25. 

26. 

initApplicationScopeCreatorsAtStartup 

27. 

28. 

29. 

30. 

31. 

--长连接只保持时间 

32. 

maxWaitAfterWrite<

33. 

60<

34. 

35. 

load-on-startup>

1<

/load-on-startup>

36.<

37.<

指定核心Servlet的URL映射 

38.<

39. 

40. 

41.<

42.<

welcome-file-list>

43. 

welcome-file>

index.jsp<

/welcome-file>

44.<

/welcome-file-list>

45.<

/web-app>

xmlversion="

encoding="

web-appversion="

xmlns="

xmlns:

xsi:

--配置DWR的核心Servlet-->

--指定DWR核心Servlet的名字-->

--指定DWR核心Servlet的实现类-->

org.directwebremoting.servlet.DwrServle

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2