我有一个使用Spring Boot制作的REST API。我可以使用HTTP请求将实体(人员)添加到数据库中。 我想让一个网页动态显示那些实体:每当一个新的Person存储在数据库中时,该页面就会将其显示在列表的顶部。无需刷新页面。
有哪些方法可以实现? JSP是否足够?我需要JavaScript吗?
越简单越好。
答案 0 :(得分:0)
有哪些方法可以实现? JSP是否足够?我需要 javascript?
是的,您需要JavaScript。但是您也可以将其嵌入到JSP中。
这是一个已解决的问题,如果您搜索“ websocket spring”,则会在网络上找到许多示例。示例https://spring.io/guides/gs/messaging-stomp-websocket/
如果您不被JVM-land和RDBMS所困扰,我鼓励您看一下Firebase-Angular堆栈(三向绑定)
阅读此https://stackoverflow.com/a/12855533/6785908
不建议使用无耻复制,因为仅发布链接是不建议的,因为将来链接可能会断开
在下面的示例中,客户端是浏览器,服务器是托管网站的网络服务器。
在您了解这些技术之前,您必须了解 经典首先是HTTP网络流量。
常规HTTP:
- 客户端从服务器请求网页。
- 服务器计算响应
- 服务器将响应发送到客户端。
Ajax轮询:
- 客户端使用常规HTTP(请参见上面的HTTP)从服务器请求网页。
- 客户端收到请求的网页,并在请求服务器上文件的页面上执行JavaScript 定期间隔(例如0.5秒)。
- 服务器会计算每个响应并将其发送回,就像正常的HTTP流量一样。
Ajax长轮询:
- 客户端使用常规HTTP(请参见上面的HTTP)从服务器请求网页。
- 客户端收到请求的网页,并在从服务器请求文件的页面上执行JavaScript。
- 服务器不会立即响应所请求的信息,而是等待直到有新个信息可用。
- 当有新信息可用时,服务器将以新信息进行响应。
- 客户端接收到新信息,并立即向服务器发送另一个请求,以重新启动该过程。
HTML5服务器已发送事件(SSE)/ EventSource:
- 客户端使用常规HTTP(请参见上面的HTTP)从服务器请求网页。
- 客户端收到请求的网页,并在打开与服务器的连接的页面上执行JavaScript。
当有新信息可用时,服务器将事件发送到客户端。
- 从服务器到客户端的实时流量,这正是您所需要的
- 您将要使用具有事件循环的服务器
- 无法与其他域的服务器连接
- 如果您想了解更多信息,我发现它们非常有用:(article),(article),(article),(tutorial)。
HTML5网络套接字:
Comet:
Comet是HTML5之前使用流技术的一系列技术 并进行长轮询以实现实时应用。阅读更多 wikipedia或this文章。