您好,登錄后才能下訂單哦!
今天小編給大家分享一下怎么用Java實(shí)現(xiàn)Web GUI的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來(lái)了解一下吧。
在上一個(gè)屏幕截圖中,您可以在左側(cè)看到一個(gè) Java 類(lèi)。此代碼在服務(wù)器上運(yùn)行,例如 Apache Tomcat、Eclipse Jetty 或任何其他 servlet 容器。
您可以使用框架提供的 API 來(lái)創(chuàng)建用戶界面 (UI)組件,例如文本字段、組合框、數(shù)據(jù)網(wǎng)格、日期選擇器、上傳字段等。您可以組合這些組件來(lái)構(gòu)建視圖(也稱為頁(yè)面或 UI),使用布局垂直、水平放置 UI 組件,或使用 CSS 以任何自定義方式放置 UI 組件。
在前面的示例中,我們創(chuàng)建了 aTextField并且 aButton都添加到了 a 中VerticalLayout。視圖準(zhǔn)備就緒后,您可以使用@Route注釋通過(guò) URL 公開(kāi)它。在這個(gè)例子中,我們?cè)趯⑵涮峁┑膆ttp://本地主機(jī):8080 /你好用@Route("hello")。
Vaadin 應(yīng)用程序是一個(gè) Java Web 應(yīng)用程序。該框架提供了一個(gè)為您處理 HTTP 請(qǐng)求和響應(yīng)的Servlet實(shí)現(xiàn) ( VaadinServlet)。該 servlet 掃描標(biāo)有@Route注釋的 Java 類(lèi)以在瀏覽器中顯示正確的視圖。第一次請(qǐng)求 Vaadin 應(yīng)用程序時(shí),Vaadin 使用一個(gè)輕量級(jí) JavaScript 文件作為客戶端引擎進(jìn)行響應(yīng)。該引擎負(fù)責(zé)處理瀏覽器中的事件并以 JSON 消息的形式將它們發(fā)送到服務(wù)器。該VaadinServlet處理的請(qǐng)求和JSON響應(yīng)同樣返回給客戶端引擎。引擎然后根據(jù)此消息更新頁(yè)面中需要更新的元素(如果有)。
如果客戶端-服務(wù)器通信是對(duì)話,它看起來(lái)像這樣:
(用戶單擊瀏覽器中的按鈕)
客戶端引擎:嘿 VaadinServlet,用戶單擊了 ID 為 5 的按鈕。
VaadinServlet:當(dāng)然。讓我檢查一下那個(gè)按鈕上是否有任何點(diǎn)擊偵聽(tīng)器......是的,有一個(gè),讓我們執(zhí)行偵聽(tīng)器......完成。好的客戶端引擎,似乎偵聽(tīng)器想要添加帶有“感謝點(diǎn)擊”文本的通知。
客戶端引擎:我將使用瀏覽器中的 DOM 將通知添加到頁(yè)面。
那么上面這個(gè)對(duì)話當(dāng)然是一種簡(jiǎn)化,但是你需要去明白了這個(gè)面的相關(guān)原理。
在幕后,Vaadin 使用 HTTP 會(huì)話來(lái)存儲(chǔ)組件樹(shù)。這包含 UI 的狀態(tài)。諸如哪些組件構(gòu)成視圖以及它們的狀態(tài)是什么(啟用/禁用、標(biāo)題、值等)。這提供了一個(gè)值得一提的安全層。由于 UI 邏輯駐留在服務(wù)器中,因此不會(huì)暴露給攻擊者。驗(yàn)證在服務(wù)器上執(zhí)行。例如,如果 aButton被禁用(使用setEnabled(false)),這不僅僅是瀏覽器中的裝飾功能——服務(wù)器不會(huì)在添加到未啟用按鈕的點(diǎn)擊偵聽(tīng)器中運(yùn)行任何邏輯,從而防止攻擊者使用開(kāi)發(fā)人員工具瀏覽器更改啟用狀態(tài)或調(diào)用VaadinServlet以模擬單擊事件。
是的。Vaadin 是在Apache License 2.0下發(fā)布的開(kāi)源框架。您無(wú)需購(gòu)買(mǎi)任何東西即可使用它構(gòu)建成熟的 Web 應(yīng)用程序。
有一些商業(yè)組件可以提高生產(chǎn)力,但它們是可選的。例如,有一個(gè)可視化設(shè)計(jì)器和一個(gè) CRUD 組件可以幫助您更快地構(gòu)建視圖。您可以在訂閱前免費(fèi)試用這些組件。
是的。它可以用作 JSP、JSF 甚至 JavaScript 框架(如 Angular)的替代品。許多 Vaadin 客戶已成功從這些技術(shù)遷移到 Vaadin。
是的。Vaadin 與Spring和Jakarta EE(以前稱為 Java EE)有官方集成。當(dāng)您使用Spring Initializr創(chuàng)建新的 Spring Boot 項(xiàng)目時(shí),您可以將 Vaadin 添加為依賴項(xiàng)。對(duì)于 Jakarta EE,您可以下載一個(gè)使用 Jakarta EE的簡(jiǎn)單Hello, World示例。在撰寫(xiě)本文時(shí),僅支持 Jakarta EE 版本 8。
以上就是“怎么用Java實(shí)現(xiàn)Web GUI”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請(qǐng)關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。