用于可以与数据库交互的java应用程序的Html5-websocket实现
Html5 websocket implementation for a java application that can interact with database
我正在开发一个需要大量用户交互的应用程序。这是一种人们可以发表评论的讨论形式。目前,我们正在使用web服务,每次用户发布评论或回复评论时,我们都会称之为web服务,它会与数据库通信并完成其余的工作。我发现这个过程相当缓慢。因此,我在一些地方读到,web套接字可能是我的问题的解决方案,我可以直接使用可用的API与数据库通信,并使我的应用程序更快。我搜索了很多,在一些网上可用的例子中,他们也在使用servlet,有些则没有。这非常令人困惑。我只想使用html5网络套接字。UI代码是一个将向后端发送一些文本的页面。JS代码为:
<script>
var connection;
function connect() {
console.log("connection");
connection = new WebSocket("not sure what exactly to use here");
// Log errors
connection.onerror = function (error) {
console.log('WebSocket Error ');
console.log(error);
};
// Log messages from the server
connection.onmessage = function (e) {
console.log('Server: ' + e.data);
alert("Server said: " + e.data);
};
connection.onopen = function (e) {
console.log("Connection open...");
}
connection.onclose = function (e) {
console.log("Connection closed...");
}
}
function sayHello() {
connection.send(document.getElementById("msg").value);
}
function close() {
console.log("Closing...");
connection.close();
}
</script>
在创建新的WebSocket对象时,我需要提到什么路径。我是否应该使用servlet。请给出关于后端java代码的想法。提前感谢
Servlet没有这样的支持。您应该使用JavaEE7的WebSocket。你的代码应该像这个
@ServerEndpoint("/echo")
public class EchoEndpoint {
@OnMessage
public void onMessage(Session session, String msg) {
try {
session.getBasicRemote().sendText(msg);
//Save message here into database
} catch (IOException e) { ... }
}
}
有关详细信息,请参阅此处:http://docs.oracle.com/javaee/7/tutorial/doc/websocket004.htm
相关文章:
- 如何通过子进程连接Java应用程序后在node.js中编写文件
- 如何在Java应用程序中阻止XSS攻击并防止用户在网页上执行JavaScript
- 使用 JavaScript 或 C# 检查客户端计算机上是否安装了 Java 应用程序(不是 JAVA!)
- Java 应用程序如何识别特定的浏览器
- 在 Java 应用程序中嵌入类似浏览器的视图并与之交互
- 你会选择在Java应用程序中运行HTML / Javascript
- 如何从 JavaScript 到 Java 应用程序进行通信
- 从 Java 应用程序提交 ASP 表单
- 如何从网页(HTML/Javascript)向Java应用程序发送简单消息
- 如何在Java应用程序中使用PhantomJS的JavaScript API
- 打印任何java应用程序的函数/方法调用序列
- ASP.NET WebControl代理,托管在SharePoint上,将与Java应用程序交互.
- 用于可以与数据库交互的java应用程序的Html5-websocket实现
- 提供web浏览器和Java应用程序之间的接口
- 调试Java应用程序中使用的javascript
- web界面使用jQuery为Java应用程序
- 可以操作从签名Java应用程序
- 如何在基于java应用程序的spring中实现windows身份验证
- Java应用程序"向前"从TCPSocket到WebSocket的数据
- 我应该如何从Java应用程序运行NodeJS