目前,我正在开发一个使用Spring 3.1和Hibernate 4的web应用程序。
根据要求,我想像Facebook一样,在JSP页面上实现推送通知。如果您有任何建议,请同时列出兼容的浏览器及其版本。
发布于 2013-02-04 00:09:46
如果您可以升级到JDK7或正在使用JDK7,我建议您使用Vert.x Vertx.io,在客户端使用Sockjs。Vert.x有一个完整的sockjs服务器实现,我将尝试提出一种实现的方法,其余的请参阅文档。
服务器实现可能如下所示
Vertx vertx = Vertx.newVertx();
EventBus eventBus = vertx.eventBus()
HttpServer server = vertx.createHttpServer();
JsonArray permitted = new JsonArray();
permitted.add(new JsonObject());
SockJSServer sockJSServer = new DefaultSockJSServer(vertx, server);
sockJSServer.bridge(new JsonObject().putString("prefix", "/pusher"), permitted, permitted);
server.listen(<some port>);在客户端,注册一个处理程序,比如加载文档
function () {
if (!eb) {
eb = new vertx.EventBus("http://<your_host>:<your_port>/pusher");
eb.onopen = function() {
console.log("connected")
};
eb.onclose = function() {
console.log("Not connected");
eb = null;
};
}}
然后,您可以将处理程序注册到任何地址-此处的地址可以是任何内容,假设它是"AwesomeNotifications“
function subscribe(address) {
if (eb) {
eb.registerHandler(address, function(msg, replyTo) {
console.log("Reply recieved")
});
}
}完成所有这些设置后,您现在可以使用前面创建的事件总线将任何数据从服务器推送到此地址
eventBus.publish("AwesomeNotifications", new JsonObject(<some hashmap to serialize>))希望这能有所帮助
发布于 2013-01-23 15:22:40
您可以使用HTMl5服务器-send选项。您可以在此处获取更多详细信息
服务器-发送选项:
http://www.w3schools.com/html/html5_serversentevents.asp
用于服务器的Java servelt -发送:
Java servlet and server sent events
教程:
http://peaktechie.blogspot.in/2012/04/small-tutorial-on-html5-server-sent.html
HTML5支持的浏览器:
http://fmbip.com/litmus
发布于 2013-02-05 16:51:19
我最近一直在调查这个问题。基于事件的方法是构建单页面web应用程序的一个很好的方法,但也可以用于多页面web应用程序。
有许多方法可以做到这一点:
最终,我认为对于问题的作者来说,集成到spring-mvc项目中,Atmosphere显然是最合适的。
编辑:打字错误
https://stackoverflow.com/questions/14474273
复制相似问题