后端Java如何与前端HTML交互?

1年前 (2024-02-25)阅读6回复0
fayouxi
fayouxi
  • 管理员
  • 注册排名1
  • 经验值1285365
  • 级别管理员
  • 主题257073
  • 回复0
楼主

后端Java如何与前端HTML交互?

谢谢邀请~

这个问题看起来很简单,但我觉得主题不是那个简单的意思(也许我想得太多了)。如果你问[前端如何与后端交互],我认为大多数程序员都能回答,但如果是[后端(主动)和前端交互],估计会让很多程序员感到困惑。

先看一个场景

我以前做过一个小项目,只有一个页面,显示了每个分公司当天的表现,也就是说,我赚了多少钱。后台服务是Java,数据库是Mysql,有一个大约北京-100万,上海-80万的汇总表。

流程非常简单。HTML页面发起请求Java、Java访问数据库查询数据,然后返回HTML显示。然而,Mysql中的汇总表数据不时更新,可能是10分钟或20分钟。

最简单的 *** 是什么?

*** 在HTML中设置定时轮询(Polling),每隔几秒钟发起一次请求,以获取最新的数据,如果数据没有变化,页面也会不断变化。

缺点是显而易见的。前端发起的许多要求无效(因为数据没有变化)。Java能否在后台数据发生变化时主动通知浏览器?

后端Java怎么和前端HTML交互

WebSocket

给大家介绍一下WebSocket。

Websocket是一个基于TCP的协议,它可以使前端和服务器之间的数据交互更容易,前端和服务器可以创建一个持久的连接,并完成双向数据传输,注意这里的双向,即服务器可以主动通知前端;Websocket的数据格式很轻,所以性能很高;与http协议也有很好的兼容性。

后端Java怎么和前端HTML交互

回到上面的场景,可以这样改造:

HTML页面与Java服务器建立WebSocket连接,然后不再主动发起请求,Java服务器定期查询数据库,并在数据发生变化时通知前端。

有人可能会问,这不就是把HTML页面的轮询移到Java吗?

但想象一下,如果100个客户端打开了HTML页面呢?这意味着100个前端的定时轮询已经成为Java服务端的定时轮询。

后端Java怎么和前端HTML交互

希望我的回答能对你有所帮助!我将继续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到您的关注。

0
回帖

后端Java如何与前端HTML交互? 期待您的回复!

取消
载入表情清单……
载入颜色清单……
插入网络图片

取消确定

图片上传中
编辑器信息
提示信息