今天小編給大家分享一下怎么用Java實現Web GUI的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
在上一個屏幕截圖中,您可以在左側看到一個 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 是在Apache License 2.0下發布的開源框架。您無需購買任何東西即可使用它構建成熟的 Web 應用程序。
有一些商業組件可以提高生產力,但它們是可選的。例如,有一個可視化設計器和一個 CRUD 組件可以幫助您更快地構建視圖。您可以在訂閱前免費試用這些組件。
是的。它可以用作 JSP、JSF 甚至 JavaScript 框架(如 Angular)的替代品。許多 Vaadin 客戶已成功從這些技術遷移到 Vaadin。
是的。Vaadin 與Spring和Jakarta EE(以前稱為 Java EE)有官方集成。當您使用Spring Initializr創建新的 Spring Boot 項目時,您可以將 Vaadin 添加為依賴項。對于 Jakarta EE,您可以下載一個使用 Jakarta EE的簡單Hello, World示例。在撰寫本文時,僅支持 Jakarta EE 版本 8。
以上就是“怎么用Java實現Web GUI”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。