服务器能否通知客户端

lwx_work 2009-06-19 11:00:11
我现在在做一个刷卡程序,用jsp。我每次刷一张卡,就把串口数据的写在数据库中,然后页面上一个递归的ajax在100ms查看数据库一次,把卡号显示出来。这种方式的却可以,不过页面一个小区域在不停的刷新着来检测数据库,总是感觉不太好。

有没有什么方式 能够在java文件中直接通知到jsp页面,让页面变化,相当于是让服务器通知客户端一下,如何实现?
...全文
200 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
lizhenchao2009 2009-09-25
  • 打赏
  • 举报
回复
我前段时间实现了一个数据库反推的模块,是用的中断(即数据库中的数据一有改动,页面上就有刷新),而不是轮询(页面上什么时候请求,才能刷新),感觉还是比较好用的,实现了实时刷新的功能,有机会一起探讨,邮箱:lizc@known.com.cn
phoenixYiYou 2009-06-19
  • 打赏
  • 举报
回复
也可以换个思路,用数据库的触发器来做,数据库一旦有变化,就把有变化的数据存到一视图里,然后在页面读这个视图就可以了!
shuai45 2009-06-19
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 hwy000 的回复:]
现有“长连接”与“推”技术实现,但都是从客户端触发,服务端响应回复的。因为http协议是无状态的,所以就算服务器可以通过线程持续运行,也无法通知客户端。
[/Quote]
你可以看下dwr“推”的原理。
hwy000 2009-06-19
  • 打赏
  • 举报
回复
现有“长连接”与“推”技术实现,但都是从客户端触发,服务端响应回复的。因为http协议是无状态的,所以就算服务器可以通过线程持续运行,也无法通知客户端。
zabaglione 2009-06-19
  • 打赏
  • 举报
回复
可以在服务器端运行一个线程。1秒钟去读一次数据。
如果有更新就通知客户端。

至于通知客户端的方式,我觉得有几种方法:
向客户端固定的端口写数据
写客户端的cookie

但是我觉得更重要的是你要想清楚,客户端如何去
捕捉这些通知。比如开一个端口,或者写一个线程
不停的读cookie
APOLLO_TS 2009-06-19
  • 打赏
  • 举报
回复
估计LZ是吃饱了撑得型。
--------------------
门禁系统输入就一个,你想的就是多余--->如果以JSP为输入界面根本就没必要考虑定时刷新
门禁系统输入多个,你想的还是多余--->如果以JSP为输入界面考虑一下信息共享,根本就没必要考虑定时刷新
--------------------
如果门禁输入不是自己开发,只是为了显示,JSP是回显界面,这个时候要用同步技术(APPLET可能更好点)。
-------------------
我是没事找抽型,哈哈!!

winit 2009-06-19
  • 打赏
  • 举报
回复
只有定时刷新请求吧
byxiaolin1987 2009-06-19
  • 打赏
  • 举报
回复
其实你那样没什么不好的吧 你可以看看 别的网站基本上也都是这么做的
shuai45 2009-06-19
  • 打赏
  • 举报
回复
要知道 无论是 客户端请求服务器,还是服务器 连接客户端,对于服务器来说都是一个压力,其两者没有所谓的哪个性能更优越。

jinchun1234 2009-06-19
  • 打赏
  • 举报
回复
关注
shuai45 2009-06-19
  • 打赏
  • 举报
回复
DWR "推"技术。说白就是 客户端与服务器端建立长连接。类似于socket操作。
windy731 2009-06-19
  • 打赏
  • 举报
回复
用ajax的时候,在服务器端记录一下,本次与上次之间是否有新号码,如果有则返回信息并刷新显示的部分,如果没有就通知客户端也不做
kadach11 2009-06-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 tzb08 的回复:]
可以去看看反向ajax资料
[/Quote]

反向AJAX实际上是DWR让客户端的js代码每个一段时间去调用一次服务器,只是这种细节对开发者是透明的,开发者只需在服务器端直接通过java方法来操作web的内容即可。道理还不是一样。
tzb08 2009-06-19
  • 打赏
  • 举报
回复
可以去看看反向ajax资料
kadach11 2009-06-19
  • 打赏
  • 举报
回复
这问题不错,类似于聊天工具通知功能。除了页面刷新不知道还有没有其他技术,当然用SOCKET就另当别论,顶起!

81,092

社区成员

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

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