学习JSP遇到的问题,请大家指点

半滴蓝魔泪 2010-07-11 11:47:08
本人正在学习JSP,在阶段项目开发中遇到两个问题:
1.用户登录“在线聊天室”可以聊天,用的是application实现在的,但是如何实现无空隙刷新页面显示新消息呢?我现在用的是<meta http-equiv="refresh" content="3" />,每次刷新页面闪得非常厉害,看着头晕。
2.当用户非法退出聊天室的时候(比如关机,直接关闭页面等),如何捕获是否确认退出的提示?
请各位高手指教
...全文
314 33 打赏 收藏 转发到动态 举报
写回复
用AI写文章
33 条回复
切换为时间正序
请发表友善的回复…
发表回复
zcy9979420 2010-09-26
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 wy100304441 的回复:]

引用 8 楼 zhaoyunrui 的回复:

引用 7 楼 javanetxml 的回复:
引用 4 楼 dengyanhua1987 的回复:
用ajax进行局部刷新吧,没必要去刷新整个页面!

顶……


可以
[/Quote]
可以的
wangshijie2019 2010-09-26
  • 打赏
  • 举报
回复
没人给一个实战连接 看看
半滴蓝魔泪 2010-08-09
  • 打赏
  • 举报
回复
[Quote=引用 28 楼 helloaccphi 的回复:]
ajax和jQuery 顶 可具体怎么实现啊
[/Quote]
使用Ajax是这样实现的
<body onload="getAjaxOutput()">
<div id="mydiv"><br>
</div>
</body>

<script type="text/javascript">
var xmlHttpRequest;
function createXmlHttpRequest(){
if(window.ActiveXObject){
return new ActiveXObject("Microsoft.XMLHTTP");
}else if(window.XMLHttpRequest){
return new XMLHttpRequest();
}
}

function getAjaxOutput()
{
var url = "testMessage.jsp";

xmlHttpRequest = createXmlHttpRequest();
xmlHttpRequest.onreadystatechange = AfterAjax;
xmlHttpRequest.open("GET",url,true);
xmlHttpRequest.send(null);

window.setTimeout("getAjaxOutput()",1000);
}
function AfterAjax()
{
if(xmlHttpRequest.readyState == 4){
if(xmlHttpRequest.status == 200){
document.getElementById("mydiv").innerHTML=xmlHttpRequest.responseText;
document.body.scrollTop=2000;

}
}
}
</script>
自己可以试试看
fifaqzx 2010-08-09
  • 打赏
  • 举报
回复
设个用户最近在线时间的字段,每隔一段时间刷新一下这个字段,假如该字段10分钟(自己设定)未操作就认为该用户已退出
joycewung 2010-08-09
  • 打赏
  • 举报
回复
ajax 局部刷新, 可行!!!
helloaccphi 2010-08-09
  • 打赏
  • 举报
回复
ajax和jQuery 顶 可具体怎么实现啊
半滴蓝魔泪 2010-07-14
  • 打赏
  • 举报
回复
页面的无闪烁刷新我已经实现了 用的是ajax 但非法退出还没搞定 请各位高手多多指教啊
sunyouhao 2010-07-12
  • 打赏
  • 举报
回复
你可以把用户发送的消息存在服务器上,然后页面里利用 ajax定期去查询服务器看是否有新消息,如果有新消息则返回新消息并将新消息添加在你的显示内容后面,这个显示内容的添加利用js的dom操作就行了。
tangcheng_ok 2010-07-12
  • 打赏
  • 举报
回复
72722423群 交流java技术,Android技术。谢谢
tangcheng_ok 2010-07-12
  • 打赏
  • 举报
回复
用jquery最好。如果懂dwr用dwr试试看。不知道就自己写咯

如下,仅供参考,了解详情请查看网站
http://www.w3school.com.cn/ajax/ajax_browsers.asp
另外提供一个很好的学习网站:http://www.w3cschool.com.cn
<html>
<body>

<script type="text/javascript">

function ajaxFunction()
{
var xmlHttp;

try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{

// Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{

try
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
alert("您的浏览器不支持AJAX!");
return false;
}
}
}
}
</script>

<form name="myForm">
用户: <input type="text" name="username" />
时间: <input type="text" name="time" />
</form></body>
</html>
elivs_wu 2010-07-12
  • 打赏
  • 举报
回复
最适用的是AJAX。
用推技术可以实现实时更新(有消息来才更新),但是麻烦一点,要自己写一个WEB服务器。

luomt_1987 2010-07-12
  • 打赏
  • 举报
回复
用AJAX实现吧,实现起来也不难。。
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 zhaoyunrui 的回复:]

引用 7 楼 javanetxml 的回复:
引用 4 楼 dengyanhua1987 的回复:
用ajax进行局部刷新吧,没必要去刷新整个页面!

顶……


可以
[/Quote]

licip 2010-07-12
  • 打赏
  • 举报
回复
这个你必须要用ajax来实的。我有做过。确实很好玩的。非法退出的你必须要使用监听器来解决。
zhaoyunrui 2010-07-12
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 javanetxml 的回复:]
引用 4 楼 dengyanhua1987 的回复:
用ajax进行局部刷新吧,没必要去刷新整个页面!

顶……
[/Quote]

可以
半滴蓝魔泪 2010-07-12
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 bdceo 的回复:]
楼主用到的是页面刷新,其实做聊天的东东,最好结合ajax来实现,这算是回答你的第一个问题吧,
建议使用dwr或jquery。
第二个问题,如何处理用户的非正常退出聊天系统,我的思路是这样的:用户登录时可以拿到用户的session信息,然后以map形式存储用户与session的关系,把这个map放入application
然后设定特定时间在这个map里遍历,看有没有人的session已经丢失,……
[/Quote]
关于页面刷新,我还没有学到ajax,不懂。
对于第二个问题,我实现的思路也是这样的,合法退出的时候判断application中存在当前用户,然后再remove。关键是非法退出要怎样获取是否退出的提示,用户选择是则remove,选择否则回到聊天室???
thegodofwar 2010-07-12
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 bdceo 的回复:]
楼主用到的是页面刷新,其实做聊天的东东,最好结合ajax来实现,这算是回答你的第一个问题吧,
建议使用dwr或jquery。
第二个问题,如何处理用户的非正常退出聊天系统,我的思路是这样的:用户登录时可以拿到用户的session信息,然后以map形式存储用户与session的关系,把这个map放入application
然后设定特定时间在这个map里遍历,看有没有人的session已经丢失,……
[/Quote]
第二个思路比较好,但是放在application里会不会使服务器负荷过大?
javanetxml 2010-07-12
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 dengyanhua1987 的回复:]
用ajax进行局部刷新吧,没必要去刷新整个页面!
[/Quote]
顶……
thegodofwar 2010-07-12
  • 打赏
  • 举报
回复
第一个应该是用AJAX比较好;第二个感觉还是要用到事件监听,当某个线程读取数据抛出异常时,即该用户退出
xinlan1022 2010-07-12
  • 打赏
  • 举报
回复
可以使用反ajax实现你的功能
加载更多回复(13)

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧