【问题标题】:Real time notification in jsp pages with tomcat server带有tomcat服务器的jsp页面中的实时通知
【发布时间】:2014-03-09 18:18:05
【问题描述】:

我是 JSP 主题的新手,我在没有框架的 Eclipse 中使用 Apache 应用程序服务器。在项目中,有多个用户。我想让一个用户将信息作为通知发送给另一个用户。用户 2 应该请参阅此通知。

draft.jsp

<div style=" float: right; margin-right:600px;margin-top:20px;">
ID:&nbsp;&nbsp;<%=Id%>

Type:
 <select name="routine">
<option value="select">select</option>
<option value="option1">option1</option>
<option value="option2">option2</option>
<option value="option3">option3</option>
<option value="option4">option4</option>
</select>
Name:<input type="text" name="Name"/>
Period:<textarea rows=5 cols=10 name=period></textarea>
<button>Finish</button>
</div>

这里是jsp页面的部分。当User1点击按钮完成时,信息将发送给User2。

我在互联网上搜索,但找不到任何与我的问题相关的有用示例或教程。 我看到 Atmosphere、comet、Jetty 和 Websocket 可以解决,但我无法使用这些,我不确定它们是否适合我的问题。我应该使用长轮询还是短轮询?

我也看到了类似的question,但我无法理解接受的答案。你能给我任何解决这个问题的想法吗?任何想法都将不胜感激。提前致谢。

【问题讨论】:

    标签: java eclipse jsp tomcat push-notification


    【解决方案1】:

    最简单的方法是使用 pusher.com 之类的服务或其他推送服务。

    当 user1 在您的服务器上提交表单时,控制器会调用

    pusher.trigger('my-channel', 'my-event', 'some-message');
    

    User2 加载了一个网页,其中加载了推送器 JavaScript 库并正在监听“我的频道”:

    var pusher = new Pusher('YOUR_APP_KEY');
    var channel = pusher.subscribe('my-channel');
    channel.bind('my-event', function(data) {
      alert('An event was triggered with message: ' + data.message);
    });
    

    所以基本上,您的服务器将事件通知推送者,推送者将消息推送给其他用户。

    您也可以使用 Tomcat 的内置 websocket 支持,但设置工作量更大。

    【讨论】:

    • 感谢您的回复。我查看了网站 pusher.com,但找不到任何与 Java servlet 相关的教程。您能否提供另一个包含示例或教程的推送服务名称?
    猜你喜欢
    • 1970-01-01
    • 2013-04-13
    • 1970-01-01
    • 1970-01-01
    • 2019-02-27
    • 2015-11-11
    • 2012-07-13
    • 1970-01-01
    • 2015-04-05
    相关资源
    最近更新 更多