温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么用Java实现Web GUI

发布时间:2022-02-28 10:55:19 来源:亿速云 阅读:146 作者:iii 栏目:开发技术

今天小编给大家分享一下怎么用Java实现Web GUI的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

Vaadin 如何工作?

在上一个屏幕截图中,您可以在左侧看到一个 Java 类。此代码在服务器上运行,例如 Apache Tomcat、Eclipse Jetty 或任何其他 servlet 容器。

您可以使用框架提供的 API 来创建用户界面 (UI)组件,例如文本字段、组合框、数据网格、日期选择器、上传字段等。您可以组合这些组件来构建视图(也称为页面或 UI),使用布局垂直、水平放置 UI 组件,或使用 CSS 以任何自定义方式放置 UI 组件。

在前面的示例中,我们创建了 aTextField并且 aButton都添加到了 a 中VerticalLayout。视图准备就绪后,您可以使用@Route注释通过 URL 公开它。在这个例子中,我们在将其提供的http://本地主机:8080 /你好用@Route("hello")。

Vaadin 应用程序是一个 Java Web 应用程序。该框架提供了一个为您处理 HTTP 请求和响应的Servlet实现 ( VaadinServlet)。该 servlet 扫描标有@Route注释的 Java 类以在浏览器中显示正确的视图。第一次请求 Vaadin 应用程序时,Vaadin 使用一个轻量级 JavaScript 文件作为客户端引擎进行响应。该引擎负责处理浏览器中的事件并以 JSON 消息的形式将它们发送到服务器。该VaadinServlet处理的请求和JSON响应同样返回给客户端引擎。引擎然后根据此消息更新页面中需要更新的元素(如果有)。

如果客户端-服务器通信是对话,它看起来像这样:
(用户单击浏览器中的按钮)
客户端引擎:嘿 VaadinServlet,用户单击了 ID 为 5 的按钮。
VaadinServlet:当然。让我检查一下那个按钮上是否有任何点击侦听器......是的,有一个,让我们执行侦听器......完成。好的客户端引擎,似乎侦听器想要添加带有“感谢点击”文本的通知。
客户端引擎:我将使用浏览器中的 DOM 将通知添加到页面。

那么上面这个对话当然是一种简化,但是你需要去明白了这个面的相关原理。

在幕后,Vaadin 使用 HTTP 会话来存储组件树。这包含 UI 的状态。诸如哪些组件构成视图以及它们的状态是什么(启用/禁用、标题、值等)。这提供了一个值得一提的安全层。由于 UI 逻辑驻留在服务器中,因此不会暴露给攻击者。验证在服务器上执行。例如,如果 aButton被禁用(使用setEnabled(false)),这不仅仅是浏览器中的装饰功能——服务器不会在添加到未启用按钮的点击侦听器中运行任何逻辑,从而防止攻击者使用开发人员工具浏览器更改启用状态或调用VaadinServlet以模拟单击事件。

Vaadin 可以免费使用吗?

是的。Vaadin 是在Apache License 2.0下发布的开源框架。您无需购买任何东西即可使用它构建成熟的 Web 应用程序。

有一些商业组件可以提高生产力,但它们是可选的。例如,有一个可视化设计器和一个 CRUD 组件可以帮助您更快地构建视图。您可以在订阅前免费试用这些组件。

Vaadin 是 JSP 和 JSF 的替代品吗?

是的。它可以用作 JSP、JSF 甚至 JavaScript 框架(如 Angular)的替代品。许多 Vaadin 客户已成功从这些技术迁移到 Vaadin。

Vaadin 是否支持 Spring 和 Jakarta EE?

是的。Vaadin 与Spring和Jakarta EE(以前称为 Java EE)有官方集成。当您使用Spring Initializr创建新的 Spring Boot 项目时,您可以将 Vaadin 添加为依赖项。对于 Jakarta EE,您可以下载一个使用 Jakarta EE的简单Hello, World示例。在撰写本文时,仅支持 Jakarta EE 版本 8。

以上就是“怎么用Java实现Web GUI”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI