溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么用Java實現Web GUI

發布時間:2022-02-28 10:55:19 來源:億速云 閱讀:164 作者: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

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女