gpt4 book ai didi

java - 与特定浏览器通信

转载 作者:行者123 更新时间:2023-12-01 13:11:53 25 4
gpt4 key购买 nike

我使用 Servlet 在 JSP 中创建了一个网站。

用户可以登录,并且他们都将获得一个带有其userid的 session 属性。

我创建了一个带有文本框和按钮的页面,我可以在其中填写用户 ID

单击按钮后,我想在特定用户的浏览器上打开一个弹出窗口(url),其中 session 用户ID等于用户ID code> 填写文本框。弹出窗口应立即出现,不需要页面请求即可显示。

我应该为此使用什么样的东西?

我用谷歌搜索,但找不到任何有用的东西。

最佳答案

编写聊天客户端可能非常棘手,因为当另一个用户发送消息时,您必须将数据从服务器发送到客户端。 WebSockets 允许您执行此操作,但它是一项相当新技术,不适用于 10 以下的 IE 版本。Chrome、Firefox 和 Safari 支持它。

允许您使用 JavaScript 与服务器通信而不需要刷新浏览器页面的技术组称为 AJAX。

像 DWR 这样的库使得在 Javascript 和 Java 之间进行 AJAX 变得非常容易。它还具有称为反向 AJAX 的功能,允许您编写在客户端上执行 javascript 代码的 Java 代码。 http://directwebremoting.org/dwr/documentation/reverse-ajax/index.html

使用 DWR,您可以编写此代码以在所有连接的客户端上显示弹出窗口:

    Container container = ServerContextFactory.get().getContainer();
ScriptSessionManager manager = container.getBean(ScriptSessionManager.class);
System.out.println("sessions: " + manager.getAllScriptSessions().size());
for (ScriptSession scriptSession : manager.getAllScriptSessions()) {
System.out.println("Sending script to session " + scriptSession);
ScriptBuffer script = new ScriptBuffer("window.alert('hello from reverse ajax server');");
scriptSession.addScript(script);
}

关于java - 与特定浏览器通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22793452/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com