国产精品成人免费视频_91丝袜美腿美女视频网站_国产一区二区三区在线看_亚洲欧美另类中文字幕_在线电影av不卡网址_国产视频丨精品|在线观看_日韩一区二区三区国产_国产欧美va欧美va香蕉在线_热re91久久精品国99热蜜臀_亚洲第一精品电影_久久九九亚洲综合_国产成人综合精品_97视频在线观看网址_精品视频久久久久久_日韩av片免费在线观看_久久精品国产99国产精品澳门

聚集網(jujiwang.com) - 收錄免費分類目錄信息軟文發布網址提交
免費加入

JSF:使用JavaServer Faces和AJAX增強用戶交互 (jsf使用css)

文章編號:11143時間:2024-09-30人氣:


Faces和AJAX增強用戶

JavaServer Faces (JSF) 是一個以下代碼片段顯示了一個具有 AJAX 行為的按鈕:

```java@AjaxBehaviorRenderer(ajaxEvent="click")public void doSomething() {// AJAX 請求觸發的代碼}```當用戶單擊按鈕時,此代碼段中的方法將被調用。AJAX 請求將發送到服務器,服務器將響應更新部分頁面。

使用 CSS 增強 JSF AJAX 應用程序

可以使用 CSS 來增強 JSF AJAX 應用程序的外觀和感覺。例如,您可以使用 CSS 來設置 AJAX 請求期間顯示的加載圖標。以下代碼片段顯示了如何在 JSF AJAX 應用程序中使用 CSS 設置加載圖標:

```css.loading {display: none;position: absolute;top: 50%;left: 50%;transForm: translate(-50%, -50%);}.loading-icon {width: 32px;height: 32px;animation: spin 1s Linear infinite;}@keyframes spin {0% {transform: rotate(0deg);}100% {transform: rotate(360deg);}}```要使用此 CSS,您可以將以下代碼段添加到 JSF AJAX 應用程序的 body 元素中: ```您可以在以下位置使用 AJAX 行為時顯示加載圖標:```java@AjaxBehaviorRenderer(ajaxEvent="click", onstart="showLoader()", oncomplete="hideLoader()")public void doSomething() {// AJAX 請求觸發的代碼}private void showLoader() {document.getElementById("loading").style.display = "block";}private void hideLoader() {document.getElementById("loading").style.display = "none";}```此代碼段將顯示加載圖標,直到 AJAX 請求完成。

結論

通過將 JSF 與 AJAX 結合使用,您可以創建更具交互性和響應性的 Web 應用程序。通過使用 CSS 增強 JSF AJAX 應用程序的外觀和感覺,您可以創建更美觀和用戶友好的應用程序。


請各位英語達人幫我翻譯一下軟件工程師簡歷中的 項目經驗 不勝感激!

我還是把三條一起發給你吧。 項目經驗: Project Experience1. XX服裝企業分銷網絡系統1. Distribution Network System for ××Clothing Enterprise ? 項目介紹:該系統實現了服裝企業對服裝分銷流程的信息化支持,系統的主要功能模塊有:分銷商庫存管理、流向單管理、統計報表管理、分銷費管理、付款結帳管理、基礎數據管理等。 本系統主要對企業的物流和資金流進行全面的管理和控制。 Project Introduction: This system realizes the information support to the distribution flow of clothing enterprises. The main function modules include: distributor stocking management, flow direction form management, statistics form management, distribution fees management, payment and check-out management, basic data management, etc. This system is mainly used in the comprehensive management and control on the logistics and capital. 總體技術:基于Jsp + Servlet+? JavaBean技術實現:分為展現層、業務邏輯層、DAO層、PO層,在DAO實現上基于OCP原則采用抽象工廠方法設計模式,DAO層直接封裝JDBC數據庫操作;在統計報表實現上使用Jfreechart組件,同時還使用了FileUpload上傳組件及驗證碼生成組件等。 Overall Technology: Implemented based on Jsp + Servlet+? JavaBean technology, it is divided into presentation layer, business logic layer, DAO layer, PO layer. The implement of DAO adopts the design mode of abstract factory method based on the OCP principle, and the DAO layer directly packages the operation of JDBC database; and the implement of statistics form adopts Jfreechart component, in the same time FileUpload uploading component and verification-code generation component, etc. are also used. 負責工作:分銷商庫存管理、數據庫設計?The responsible work:The design of distributor stocking management and database.? 心得體會:對企業分銷資源管理系統的業務需求有進一步理解,樹結構實現方式,JDBC操作數據庫,Jfreechart組件的運用、抽象工廠設計模式實現、一些技術細節等。 Experiences: Got further understanding of the service demand for distribution resources management system used in enterprises, and got further understanding of tree architecture implementation mode, JDBC operation database, the application of Jfreechart component, the implement of abstract factory design pattern, and some details. 2. XX軍區首長機關辦公自動化系統 2. Office Automation System for Head of ×× Military Area Command? 項目介紹:為了加快部隊信息化建設進程,提高首長機關的日常辦公效率,促進司證后裝備部門之間的協調工作,**軍區結合自身實際,自主研發的一套OA系統。 總體分機構管理、權限管理、公文流轉、系統管理、信息交流、信息發布、知識管理、項目管理、資產管理、考勤管理、人事檔案、我的工作臺等模塊。 Project Introduction: In order to accelerate the information construction of the troops, enhance the routine work efficiency of head office, ensure the coordinated work among Command, Political Dept, Logistics Dept, and Equipment Dept, ×× Military Area Command combines self practical situation, and develops an OA system on the basis of itself. The overall system is divided into the following modules: institution management, rights management, documents flow, system management, information exchange, information release, knowledge management, project management, properties management, attendance management, HR archives, my workstation, and so on. 總體技術:基于Struts+ Spring+JBPM+? Hibernate的多層架構:展現層使用Struts來實現MVC模式,通過page-taglib實現分頁,采用JSTL與自定義標簽,使用Ajax技術使系統具有較好的用戶體驗;業務邏輯層利用Spring的IOC來維護業務對象之間的關聯,利用Spring的AOP進行聲明式事務管理,采用貧血Domain Object模型;持久化層使用hibernate來實現,通過DAO模式封裝PO對象;將JBPM與Spring整合,實現公文流轉模塊;結合Freemarker模板技術實現動態表單定義模型;實現擴展的基于RBAC授權與認證模型;實現職能型的組織機構模型。 Overall Technology: A framework with multi layers based on Struts+ Spring+JBPM+ Hibernate. The presentation layer adopts Struts to realize MVC mode, adopts page-taglib to realize paging, adopts JSTL and custom tag, adopts Ajax technology to make system having better user experience; the business logic layer utilizes IOC of Spring to maintain the link between business objects, utilizes AOP of Spring to provide declarative transaction management, adopts anemia-type Domain Object model; the dada persistence layer adopts hibernate to realize, and adopts DAO mode to package PO object; Through the integration of JBPM and Spring to realize the document flow module; through the combination with Freemarker template technology to realize dynamic form definition model; to realize expanded authorize and authentication model based on RBCA; to realize functional organization model.責任描述:參與總體需求分析與架構設計、Domain Object設計、數據庫設計、SSH架構搭建及JBPM的整合;同時實現主要模塊機構管理、權限管理和公文流轉核心模塊的設計實現 Responsibility Description: Participated in the analysis of overall demands and the design of framework, the design of Domain Object, the design of database, the building of SSH framework, the integration of JBPM; In the same time realized the management of main module organizations, rights management, and the design and realization of document flow core module.? 心得體會:對基于SSH架構的多層應用有深入體會,對工作流引擎JBPM的流程定義、部署和多種類型流程節點使用有進一步理解,基于RBAC模式能進行授權認證模塊的實現,在該項目中的許多技術細節如:ACL的設計技巧,DWR實現動態授權,DOM4J實現初始化數據注入等等。 Experience: Got deep understanding of the multi layer application of SSH framework, and got further understanding of the flowing definition, deployment of workflow engine, JBPM, and the application of various kinds of flowing nodes. It is also further understood that based on RBAC mode the authorize and authentication module can be realized. Moreover, many technological details in this project, such as the design skills of ACL, the realization of dynamic authorization with DWR, the realization the injection of initial data with DOM4J, etc. are also understood further. 3. 企業客戶關系管理系統 Relationship Management System for Enterprises 項目介紹:本項目旨在“以客戶為中心,以市場為導向”的企業經營管理模式,通過集中管理客戶信息,并在市場部、銷售部、服務部等間共享客戶數據,從而實現企業市場營銷、銷售管理、客戶服務和支持等經營流程信息化,達到提高客戶服務效率和銷售人員事務處理的效率,最終實現企業資源的有效利用,提高企業的客戶服務質量與核心競爭力。 Project Introduction: This project aims at the enterprise management mode of “ Customer-oriented and Market-oriented”, It shares customer’s information with Marketing Dept, Sales Dept, and Service Dept through the concentrated management of customer’s information, so that realizes the informationization of enterprise’s operation flow such as marketing, sales management, customer service and support, and enhances the service efficiency for customers and the affairs treatment efficiency of sales staffs, finally realizes the effective utilization of enterprise resources and enhance its service quality and core competitive power. 總體技術:采用JSF + Spring + Ibatis +? Jfreechart的技術實現:展現層JSF采用Apache的myfaces1.1.1實現包,JSF基于組件、事件和后臺bean的交互來開發應用,而不再基于請求相應和標記來解決展現層問題;利用Spring來解耦合,管理依賴,將整個應用進行整合;持久化層采用輕量級的ORM解決方案ibatis;對系統中的多種報表生成采用Jfreechart技術。 Overall Technology: It is realized using JSF + Spring + Ibatis +Jfreechart technology. In presentation layer JSF adopts myfaces 1.1.1 of Apache to realize packet, JSF is developed and applied based on interaction of components, events and background bean instead of basing on request corresponding and marks to solve the problems of the presentation layer; it adopts Spring to decouple, manage dependence, and integrate the overall application; the data persistence layer adopts light duty ORM solution, ibatis; and the generation of various kinds of form in the system adopts Jfreechart technology 負責工作:參與需求分析,數據庫分析設計,銷售管理模塊實現Responsible work: Participated in the demand analysis, the analysis and design of database, and the realization of sales management module. 心得體會:對本項目背景和需求有進一步理解,項目中使用的許多技術細節,如:使用Sitemesh控制頁面布局,理解Sitemesh基本原理;利用POI庫操縱Excel報表(批量導入和批量導出客戶數據)等等。 Experiences: Got further understanding of the background and demand of this project, many details used in this project, such as using Sitemesh to control page layout, understanding the basic principle of Sitemesh; utilizing POI database to handle Excel forms (batch input and batch output the customer’s data), are also deeper understood)

A4JA4J簡介

A4J是JSF(JavaServer Faces)和Ajax技術的有機結合,其目標是將Ajax的功能無縫融入到JSF組件中,提供更便捷的用戶體驗。 最初,A4J獨立存在,后來被JBoss收購,并與RichFaces框架相結合,進一步增強了其功能和控件庫。 現在,RichFaces已經發展成為一個集成了Ajax和JSF特性的全面Web開發框架。 在RichFaces中,開發人員可以利用JSF框架的諸多優勢,如生命周期管理、靈活的驗證和轉換機制,以及對靜態和動態資源的有效管理。 A4J使得開發工作更加簡化,只需按照JSF的組件規范構建頁面,無需編寫復雜的JavaScript代碼或依賴其他庫,就能實現Ajax的精髓——局部刷新,從而提升頁面的響應速度和用戶體驗。 A4J的優勢在于它能夠充分利用JSF的結構性優勢,使得具有Ajax支持的豐富組件和高度定制的界面設計與JSF框架緊密結合,大大簡化了開發流程,提高了開發效率和代碼的可維護性。

Java Server FacesJSF 體系結構

JavaServer Faces (JSF) 的體系結構基于 MVC(模型-視圖-控制器)設計模式,為Java Web 用戶界面開發提供了一個標準且易于管理的框架。 視圖(用戶界面代碼)與模型(應用程序數據和邏輯)的分離使得應用程序的管理更為直觀,用戶與應用的交互由前端的“Faces”servlet(控制器)處理,確保了安全性和權限控制。 JSF 的生命周期中,當用戶訪問JSF應用程序時,Controller servlet首先準備JSF上下文,存儲所有應用數據,然后引導用戶訪問所需的頁面。 頁面通常使用簡單的表達式語言處理來自上下文的數據。 后續請求時,控制器會更新模型數據。 開發者可以根據需要在運行時控制整個生命周期,實現高度靈活的應用行為管理。 JSF有兩個主要的實現:Sun的官方實現和Apache的MyFaces。 兩者都支持JSF 2.0規范,Sun的實現可通過相關鏈接查閱,而MyFaces的最新版本也提供了Ajax支持的增強和擴展,包括分離請求處理生命周期、支持Ajax訪問部分組件、改進的客戶端和組件級驗證,以及對標準HTML組件的擴展,如日期選擇器、文件上傳等。 此外,還提供了機制來減少數據更新問題,并簡化了與持久存儲的交互。

AJAX,Flash,Silverlight,JavaFX到底選誰

在當今世界,用戶只是坐在椅子上等待著觀看AJAX接下來將提供怎樣的視覺盛宴,包括:一些較為顯著的視覺效果和像臺式機一樣的互動,例如, Prototype-esque fades(原型褪色), Dojo style fisheyes(Dojo 風格的注視), the near ubiquitous drag-and-drop(無處不在的拖拉和水滴)。 而且,當然,當AJAX進行異步處理的時候,如果沒有了它提供的分散我們注意力的各式動畫的加載,誰又能忍受?是的,這樣看來,AJAX無所不能,并且沒有任何桌面的視覺效果和手勢是安全的,如果它是由網站提供的。 他們對誰有好處? 這曾經是我的觀點,直到我看到在蘋果公司最近最新發布的Mac OS X Leopard 版本上的新搜索器。 搜索器包括一個文件瀏覽功能,即Cover Flow,它可以使用戶通過網頁預覽,將文件以三維的方式展示。 它是這樣一種視覺效果,這種效果十分依賴向量圖形,這種效果如果僅用AJAX是很難實現的。 事實上,像Adobes Flex, Microsofts Silverlight, 以及Sun 最近發布的JavaFX這樣的計算技術,使得向量圖形實質上優于AJAX提供的Dojo或者Yahoo圖形實驗室(YUI)這種構架.無論相信與否,在網絡應用程序開發中,在基于網絡的向量圖形的應用方面存在巨大的商機,而這絕不僅僅是看起來比較誘人這么簡單。 這種需求已經被商業分析中得到的數據很好的詮釋了(例如:SAP 和Oracle),就像視頻重放和圖片編輯軟件一樣(例如:YouTube和MixBook).當然,RIA交付向量圖象的技術并不僅僅限于視覺領域。 基于Flex的字處理器BuzzWord通過交付一個完整的網絡應用程序,提供了一個關于高清晰度RIA解決方案的生動的例子。 這個網絡應用程序叫做Google Docs,它是一個基于AJAX,更加流行的網絡應用程序。 因此,向量圖形并不僅僅是高清RIA解決方案提出的。 類似的框架也提供豐富的設備用來開發能交付聲音,sockets,本地存儲,視頻的應用程序,在這個領域,AJAX要落后了。 AJAX的革新結束了嗎? 這是否意味著AJAX已經完成了它的比賽?一點也不,事實上,Adobe Flash和相似的技術正在和AJAX進行著競爭。 但是就現在來看,仍然有一些特定的限制使這些高清RIA框架無法取代AJAX。 在我們考慮是用高清RIA框架還是AJAX的時候,這有一些更顯著的需要考慮的事情。 需要的插件:高清RIA解決方案需要瀏覽器插件。 在2007年三月份,在美國,加拿大,英國,德國,法國和日本,大約83.4%的個人電腦安裝了Flash 9 Player.因此,可以說Flash已經無處不在了。 然而,即使是一個全球性的,最近安裝的版本,升級插件是一件十分困擾的事情。 多于一半的用戶,當被提示需要更新插件的時候,經常會放棄下載軟件的連接,而轉向其他網站(很有可能是一個計算機網站)去下載軟件,為的是避免和別的用戶爭奪下載和安裝軟件。 需要注意到,無論是JavaFX, 還是Sliverlight現在都沒有分享到被Adobe Flash Player占領的任何市場份額。 也應該注意到被Flash 9 占領的83.4%的市場份額,在跟現代瀏覽器中(例如:IE7.0,Firefox2.0,Safari3.0)支持的AJAX比起來,就顯得黯然失色了。 缺少開放標準:AJAX,并不像高清RIA 解決方案,它是建立在開放標準上的,例如(X)HTML,CSS和JavaScript. HD RIA一直以來,都不是開源的,標準比起來少的可憐。 JavaFX,一開始就是被當作一種開源的成果介紹的。 在這個時候,在改變HD RIA 解決方案的的進程中,像一個領導者一樣。 但是它到現在為止卻很少改變。 技能的缺乏:Flex,silverlight,和JavaFX分別介紹了自己的代表性語言。 另一方面,AJAX依賴的是JavaScript。 JavaScript是被廣泛認知的,而且很容易和其他主流的技術相結合,例如:Ruby-on-Rails, PHP, Java, and . 不能在HTML中很好的顯示:對于完全用Flex開發的應用程序,并不存在這樣的問題。 但是對于已經存在的應用程序,它就是一個值得考慮的問題了。 AJAX和JavaScript的創造是用來補充HTML的。 另一方面,Flash在運行時,在操作已經存在的網頁結構時,缺少靈活性,而這是JavaScript DOM 對象提供的。 大量下載印記:基于Flash的RIA解決方案跟依賴本地AJAX支持的解決方案比,趨向于有一個更大的下載印記。 這種更大下載的結果時,在應用程序安裝的時候,有一個延遲的等待。 可查找的,但并不是總能被找到:近年來,搜索引擎在他們各自的網頁抓取中,引入了檢索swf 文件的能力。 Yahoo和Google是這種文件格式的最好的廣告宣傳提供商,雖然使用的方法(檢索swf文件的方法)并沒有廣泛的公布,也沒有很好的理解。 為了優化查找結果,網絡設計者經常既建一個flash網站,又建一個傳統的HTML網站。 或者在一個傳統的HTML網站中選擇一個嵌入的flash電影,作為對文本內容的裝飾。 應該注意到,在寫這篇文章的時候,我并不能知道搜索引擎會在何時,會用何種方式把這個問題加入到HD RIA 技術中,就像JavaFX和Silverlight一樣。 并不是所有的客戶都是平等的:隨著更新的個人電腦的使用,這已經不在是一個問題了。 但是自從HD RIA 環境大量使用用戶的資源用來執行業務邏輯,應用性能由客戶機的配置來決定了。 因此,客戶體驗會因為機器配置的不同而不同。 基于AJAX的解決方案有一個繼承過來的服務端組件,(例如:Oracle ADF Faces Rich Client),可以利用服務器資源來裝載處理和表現以保證在客戶端更統一的交付。 讀者應該注意,沒有一種列出的考慮會阻止你選擇flash或者相似的產品,而去選擇AJAX。 AJAX的確有它自己的缺點,有很多。 在近些年,比HD RIA 解決方案顯示出的問題多很多。 讓我們關心的,一些顯著的問題包括速度很慢的JavaScript執行,內存泄露,大量的瀏覽器錯誤,兩個連接的限制,和CSS產生的問題。 簡單的輸入,在Google Maps或者Gmail上用AJAX創建一個應用,你就不能拒絕任何形式的攻擊。 進一步講,這篇文章已經指出了在哪種情況下,HD RIA 解決方案做的比基于AJAX的解決方案做的好,尤其是在向量圖形的領域。 但是,在這個平衡的另一端,我們會顯然的發現AJAX更適合增量的修改已經存在的應用程序,在這一點上,flash或者其他HD RIA解決方案做的沒有AJAX好。 并且AJAX更適合處理文本內容。 而文本內容又是當今網絡內容的主流,雖然更多的媒體中心,實時驅動的web3.0可能會使規模在不遠的將來,達到一個更高的級別。 因此,現在所有RIA解決方案都是有限制的。 幸運的,AJAX和HD RIA的限制因素,在大多數情況下,運行起來并不會產生相互影響。 因此,AJAX和Flash這樣的技術實際上很好的互補了,并且,像YouTube和SlideShare已經證明了,AJAX和Flash可以結合起來用來創建一個健壯的應用程序可以提供豐富的媒體和動態的文本.但是,這又引入了一個新的難題,那就是并不是所有的開發者都被平等的創建了,這將導致一個問題,就是是否這個混合的RIA解決方案只能通過極端的方式來達到? 兩個世界中最好的,但并不是免費的: 最終的測試的結果是積極的。 Adobe實驗室最近提供了一個Flex-AJAX橋,允許開發者用JavaScript來操縱一個Flex的應用程序。 進一步的,Sliverlight DOM可以通過JavaScript來訪問。 因此,HD RIA解決方案已經提供了AJAX的整合點。 然而,盡管有整合到一起的接口,仍然有其他的復雜的問題沒有顯現出來,也就是找到一個有經驗的開發者的難題,這樣的開發者需要有flash,(或者Sliverlight,JavaFX),CSS,HTML, Javascript, 有一些PHP,Ruby-on-Rails, 或者 Java.的知識。 進一步講,開發者的技能一般都是針對客戶方法和服務方法分開的。 或者精通flash,或者AJAX,但是不精通服務端的技術。 相反的說,也成立。 因此,你需要雇一個精通flash的人和一個精通AJAX的人,而不僅僅是他們其中的任何一個。 這會使你在雇傭人員上的花費翻倍。 最后,基本上是沒有開發工具的,比把所有技術都集成到一個程序開發環境中的,端到端的開發框架要少得多。 理想情況下,這樣的開發環境會包括可視化開發和其他加速編程速度的方法,更進一步,會包括宣布數據隱藏的工具。 因此,這就好象是,在試圖平衡flash和AJAX的工程中,技能和工具所提供的生產力并不是足夠的。 AJAX和Flash,最終將結合到一起 在2004年,JavaServer Faces (JSF) 開始采用十分激烈的方式,簡化網絡開發并且在一些提供商的幫助下,仿佛成為了期待再一次重振網絡開發的標準。 JSF是一個服務器端的組件框架,這個框架允許開發者用一個單一接口去構建一個基于網絡的,能操作多個設備的應用程序。 能這樣開發的一個主要方面是因為有一個可以高度靈活性表現引擎或者一個更加專業的表現包。 像Oracle ADF Faces 這樣的構件框架引入了表現包,不僅僅表現HTML瀏覽器,智能客戶端,WML瀏覽器,和ASK客戶端,創建用來交付的多通道而不用去理解內在技術的細微差別。 你可以很容易的發現這項技術是如何擴展到AJAX和Flash中去的。 創建一組組件的想法適用于AJAX,同時也適用于Flash.在這個想法中AJAX用來交付增強的窗口,布局管理器,和數據表格。 與此同時,基于Flash的組件服務于更多特定的目的,利于畫圖,畫圖表,和其他的數據可視化需求。 在開發中使用單一的借口消除了理解JavaScript, (X)HTML, CSS, XML, JSON, and Flash(或者其他RIA解決方案)的需要。 開發者僅需要簡單的知道java的語義和JSF的接口。 再者,深入理解的需要減少了,因為大量的工具和為JSF提供的可視化設計(例如:Oracle JDeveloper, NetBeans, Eclipse)。 成果是一個開發環境,在這個開發環境下,即使水平相差很多的開發者,都可以創造和交付一個高交互式的RIA。 然而,盡管有很多工具可以選擇,卻很少有JSF組件提供商,在一個單一的框架中,既提供基于Flash組件,又提供基于AJAX的組件。 一些更著名的JSF組件提供商發布基于AJAX的組件,包括:Backbase, ICEsoft, Oracle, JBoss,和ILOG。 目前,Oracle ADF Faces Rich Client 代表了唯一的一個既提供支持AJAX的,又支持Flash的組件。 而且,為了消除任何概念的所有權干涉,Oracle近日在今年的JavaOne上宣布,Oracle ADF Faces Rich Client對Apache Foundation的貢獻,被當作是Rich Client Framework(RCF)。

Swing 或 JavaServer Faces:究竟選擇哪一個?

Swing 能否經受住富互聯網應用程序宣傳熱潮的考驗?2006 年 3 月發布J2EE Web 技術已經從一個靜態的內容提供環境迅速發展為一個在內聯網和互聯網上運行的動態業務應用程序的可靠平臺。 Web 的前景體現在,無論您的業務需求如何,瀏覽器都將是您未來唯一需要的客戶端。 在這種趨勢的推動下,最近掀起了新一輪圍繞高度交互的 Web 界面(基于一組稱作 AJAX 的技術)的宣傳熱潮。 AJAX 與新 J2EE 標準 JavaServer Faces (JSF) 的結合使用在處理 Web 應用程序方面有望提供更好的最終用戶體驗和認可。 AJAX(異步 Javascript+XML 的縮寫)描述了一組現有技術(如 JavaScript、XML 和文檔對象模型 (DOM))的使用模式。 不可否認的是,AJAX 和 JavaServer Faces 來勢迅猛,并將很快擋住 Swing 的去路,而 Swing 自 1998 年以來一直是用 Java 構建豐富用戶界面的標準方法。 瀏覽器將在未來唱主角?Swing 能否經受住富互聯網應用程序宣傳熱潮的考驗?本文針對 Swing 和 JavaServer Faces 進行了介紹、定位和比較,以幫助開發人員決定對某種作業使用哪種技術。 此外,本文還介紹了 Oracle 應用程序開發框架 (ADF) 如何有助于簡化使用這兩種技術進行的應用程序開發。 從Java 到 Swing 再到 JavaServer Faces應用程序開發史中曾出現過許多編程語言。 早在 1991 年,James Gosling 發明了“Oak”,即 Java 的前身。 由于 Oak 無法出售,因此 Sun 于 1995 年推出了 Web 編程語言 - Java,此后不久 Java Applet 即成為 Web 應用程序開發的這個“石器時代”的主導技術。 1998 年發布了用于開發輕型 Java Web GUI 和客戶端桌面應用程序的 Java Swing 平臺。 一年以后,Sun 推出了 Java 2 企業版 (J2EE) 平臺,該平臺在 6 年后引入了 JavaServer Faces。 Swing 本身是一個基于抽象窗口工具包 (AWT) 和 Java 基礎類 (JFC) 構建的輕型組件集。 從推出到現在的七年多時間里,Swing 程序包已經成為 J2SE 中一個非常成熟的 Java 庫,并廣泛用在企業級業務應用程序的構建中。 Swing 以靈活而強大的開發環境著稱,它為應用程序開發人員提供了大量的控制權。 毫不夸張地說,只要是可以用 Java 構思的應用程序,就可以用 Swing 構建它。 但 Swing 的靈活增加了復雜度和學習難度。 類似 Oracle JDeveloper、NetBeans 和 IntelliJ 這樣的 Java IDE 為 Swing 提供了可視的 4GL 編輯環境,有助于開發人員快速入門并執行更深層次的操作,而不必深入學習 Swing。 2004 年 3 月推出的 JavaServer Faces(也稱作 JSF,或簡稱為“Faces”)是一個用于構建 Web 應用程序的基于組件的框架,該框架并入了 JavaBean 事件模型,用于將信息發送到其他組件。 作為 J2EE Web 技術的發展,JavaServer Faces 將基于模板的編程式 Web 開發與 4GL 類型的開發選項結合在一起。 J2SE Swing 體系結構盡管Swing 是 Java 標準版 (Java SE) 的正式部分,但它并不是核心 Java 語言的成員,而是被視為一個標準擴展。 以 而非 開頭的 Swing 程序包名稱也反映了這一點。 使用 Swing 開發的應用程序在 Java 運行時環境 (JRE) 中執行,該環境可以安裝在本地桌面客戶端中,也可以集成到 Java Web Start 或 Web 瀏覽器中。 所有Swing UI 組件均為 JavaBean,并采用對象模型控制器體系結構,將數據表示與對數據的操作分離。 該模型不包含任何 UI 特定的代碼,反之亦然。 模型與 UI 之間的所有信息交換均通過 JavaBean 事件和監聽器進行。 這種職責劃分使經驗豐富的 Swing 開發人員能夠自定義組件 UI,而不必更改組件行為。 Swing 中的組件控制器和視圖稱作 UI 代理。 控制器將用戶交互指派給模型,并由模型保存組件的狀態。 圖1:Swing 體系結構 Swing 中的 UI 組件可在運行時通過屬性方法或在設計時通過可視編輯器以編程方式進行控制。 并非 Swing 中的所有組件均綁定到數據,某些組件(如按鈕)只需要處理 GUI 狀態。 UI 組件中的事件通過注冊的 JavaBean 監聽器(如 MouseListener、FocusListener 或 ChangeListener)進行檢測。 ADF 與 SwingSwing 始終存在的難題之一是如何將組件綁定到動態數據。 過去,有許多不同框架已經通過非標準方法多次解決了這一難題。 而作為 JSR-227(用于解決此數據綁定難題的建議標準)早期采用者的 ADF 以及 ADF Swing 采用標準方法將 Swing 應用程序綁定到所有業務服務,如 Enterprise JavaBeans、TopLink、Web 服務、ADF 業務組件以及 URL。 ADF Swing 是一個將 Swing 域模型綁定到 Oracle ADF 綁定的小型 Java 層。 ADF Swing 開發人員采用聲明方式將組件模型設置為 ADF 綁定中的有名引用。 ADF 中的數據控件將一致的客戶端開發 API 公開給不同的業務服務,以便 Swing 開發人員使用。 數據控件采用標準方法來創建、刪除和插入數據,并采用標準控件來導航數據集。 ADF 綁定將一個可以從數據控件訪問的較小的數據子集公開給 Swing 應用程序面板或框架。 Swing 開發人員無需了解應用程序構建所基于的業務服務,這是因為他們不再處理特定的模型 API。 同樣,他們并不負責資源查找或類似任務。 所有這些任務均由 JSR-227 實現處理,該實現提供了一個有效的控制反轉機制。 由于ADF Swing 應用程序開發在很大程度上是一個使用 ADF 執行的聲明任務,因此它縮短了新手和 Java 專家的應用程序開發周期。 例如,UI 第一綁定使項目團隊可以輕松地進行快速原型設計。 可以采用概念驗證的方式創建 UI 的非綁定版本,然后采用回溯方式將其綁定到服務。 圖2:ADF Swing 體系結構 JavaServer FacesJavaServer Faces 是 Web 應用程序開發中的一個里程碑,它將成為 J2EE 5.0(SUN 最近將其重新命名為 JEE 5.0)中核心 Java 企業版平臺的一部分。 JavaServer Faces 可以作為獨立的 Servlet 在 J2EE1.4 應用服務器中使用。 Web 并非為需要事務和狀態處理的業務應用程序而設計。 多年來,開發人員花費了大量時間使用各種技術(如隱藏的 HTML 域、cookie、URL 或會話參數)來跟蹤 Web 應用程序的狀態,而這樣做僅僅為了克服 HTTP 協議無狀態這個問題。 JavaServer Faces 有助于開發人員重新關注應用程序的業務要求,而不再關注基礎的交付技術。 JavaServer Faces 是一個 UI 框架,它對應用程序開發人員隱藏了 HTTP 請求 – 響應循環的細節。 與Swing 中的 JavaBean 體系結構相似,JavaServer Faces 使用通過屬性公開狀態和行為的 UI 組件來構建 Web 界面。 盡管 JavaServer Faces 頁面通常匯集在 JSP 文件中,但這并不是必需的。 JSF 這項技術并非只可用于基于瀏覽器的應用程序,同時也可用于構建移動應用程序。 JavaServer Faces 中的 UI 組件是顯示不可知的。 這意味著應用程序開發人員并不構建針對特定設備的應用程序,而是構建可以在許多設備上運行的應用程序。 JSF 中的 UI 組件呈現器類(打包的呈現器集的一部分)決定 UI 的可視化表示。 如果初始應用程序請求來自 Web 瀏覽器,則該表示采用 HTML 格式,否則應用程序將按照請求客戶端設備所支持的方式呈現(假設該設備類型存在一組呈現器類)。 類似文本域這樣的 UI 組件通過 ExpressionLanguage (EL) 值綁定綁定到 (JSF) 管理的 bean 模型上。 在值綁定中,EL 用于引用輔助 bean 中的 setter 和 getter 方法對。 例如,EL 表達式 #{} 將 JSF 組件綁定到用戶 bean 中的 setFirstname 和 getFirstname 方法上。 EL 綁定另一個可能的形式是方法綁定。 方法綁定引用受管理 bean 中的方法,并在 JSF 中(就像在按鈕中一樣)用于將操作屬性綁定到視圖層邏輯,以便在復雜導航情形下或者在需要導航前和導航后處理的情況下執行。 圖3:JavaServer Faces 體系結構 受管理 bean 的另一個角色是將 UI 組件綁定到域數據,例如訪問 JDBC 查詢的結果集或查找 Enterprise JavaBean (EJB) 會話。 此外,頁面上的 UI 組件可能在輔助 bean 中包含一個用于以編程方式訪問的表示。 Oracle 應用程序開發框架 (ADF) 和 JavaServer FacesOracle JDeveloper 10.1.3 支持通過可視編輯器進行 JavaServer Faces 開發。 此外,Oracle ADF 可用于通過聲明方式將 JavaServer Faces 和 ADF Faces 組件綁定到業務服務數據。 正如在 Swing 的上下文中介紹 Oracle ADF 時所指出的,使用 Oracle ADF 綁定為 JavaServer Faces Web 應用程序開發人員提供了一個統一的開發 API,用于訪問 Web 服務、Enterprise Java Bean、TopLink、POJO、ADF 業務組件以及其他類型的業務服務。 ADF Faces 是一組基于 JavaServer Faces API 構建并可以部署到任何 JSF 實現(如由 Sun 或 Apache MyFaces 提供的參考實現)的 100 多個 JSF UI 組件的總稱。 除了適用于瀏覽器客戶端的 HTML 呈現器工具包以外,ADF Faces 還為在 telnet 客戶端、移動設備和 PDA 上顯示的 Web 應用程序提供了呈現器,并支持作為顯示不可知 Web 應用程序開發環境的 JavaServer Faces 的強大功能。 為將ADF 與 JavaServer Faces 應用程序集成,表達式語言值綁定訪問 ADF 綁定對象,而非輔助 bean 中的數據。 ADF 綁定對象(默認情況下名為“bindings”)由 ADF servlet 在應用程序初始化過程中創建,并使開發人員能夠訪問通過 ADF 數據控件和綁定層公開的所有集合和方法。 要以編程方式引用和使用輔助 bean 中的 ADF 綁定對象,可以通過 faces 配置中的 ExpressionLanguage 表達式 #{bindings} 訪問綁定對象并將其作為受管理屬性的值注入到輔助 bean 中。 圖4:使用 ADF 的 JavaServer Faces 體系結構 履行富互聯網應用程序的諾言:AJAX 和 ADF Faces對于并非熟悉 Javascript、XML 或文檔對象模型 (DOM) 等 Web 技術的開發人員而言,AJAX 易于理解但卻難于實現。 對于業務應用程序而言,僅當在 JavaServer Faces 這樣的 Web 應用程序框架中以“現成方式”在組件中使用時,AJAX 才有意義。 ADF Faces 提供了部分頁面呈現和對話框支持,使開發人員能夠構建更好的 Web 客戶端。 作為一個早期實現的 AJAX,部分頁面呈現縮短了客戶端的響應時間,因為它減小了只需刷新頁面的某些部分的網頁的下載大小。 ADF Faces 的未來發展方向是提供一組利用 AJAX 的富互聯網組件,以便 Web 應用程序開發人員能夠構建響應性和交互性較高的 Web 客戶端,而不必編寫 JavaScript 或 DHTML 代碼。 在 JavaOne 2005 召開期間首次展示了 ADF Faces 富互聯網應用程序客戶端的預覽版本。 在什么場合使用什么技術? 當決定對新應用程序開發使用哪種技術時,應用程序的要求(而非各種技術的功能)是一個不錯的指標。 以下是對兩種技術的簡要分類比較 開發:主要的 Java IDE 支持對 Swing 和 JavaServer Faces 進行可視開發。 開發 JavaServer Faces 應用程序時,開發人員可以獲得很多好處而不必編寫 Java 代碼。 組件:Swing 和 JavaServer Faces 均基于組件,并將 JavaBeans 用于其 UI 組件。 還可以創建在應用程序中使用的自定義組件。 頁面和布局:Swing 中的布局通過嵌套 Swing 面板定義。 Swing 組件的位置及其調整大小的行為通過 LayoutManagers 確定。 同樣,在 JavaServer Faces 中,布局通過容器(如 ADF Faces 中的 PanelPage 和 PanelBox)定義。 每個容器可以有很多個子組件,而其中的每個子組件本身也是容器。 盡管使用 HTML 表格安排 JSF 應用程序的布局可能比較吸引人,但在處理 JSF 應用程序時建議您不要混合使用多技術。 UI 響應性:AJAX 更適合于 Web 應用程序,它可以根據提供的輸入或模型層中引發的事件向用戶立即提供反饋。 Swing 用戶界面具有高響應性,并可以刷新屏幕上的特定區域而不用刷新整個屏幕。 例如,股票應用程序可以向 Swing 應用程序發送有關已更改值的信息,無需重新查詢即可將該信息顯示給用戶。 更新、插入和刪除:Web 模型基于 HTTP 協議,該協議并非為事務應用程序和動態業務應用程序而設計。 JavaServer Faces 自動處理 Web 開發人員以往所面臨的大量問題,但在處理多行更新方面,有時仍需要開發人員親自操作。 而在 Swing 中,多行操作對于應用程序開發人員(如使用 ADF Swing 的開發人員)而言比較簡單。 外觀: Swing 支持動態外觀類,這些類在應用程序啟動時向其應用特定顏色方案。 更改應用程序外觀不需要更改應用程序代碼。 JavaServer Faces 使用樣式表顯示不同的用戶外觀。 此外,Oracle ADF Faces 還提供了一個稱作“換膚”的特性,其作用與 Swing 中的外觀類相似。 國際化:這兩種技術均支持使用資源包進行字符串翻譯。 JavaServer Faces 包含客戶端上的瀏覽器設置中的首選用戶語言,而 Swing 應用程序根據 Java 運行時環境中的區域設置確定語言。 JavaServer Faces 和 Swing 均可以編程方式設置語言,以便應用程序用戶可以從應用程序中選擇一種翻譯。 事件模型:JavaServer Faces 和 Swing 組件均使用 JavaBean 事件模型發布有關模型或組件更改的信息。 相關各方可以使用 JavaBean 監聽器注冊事件,如值更改事件、屬性更改事件或階段事件。 鍵盤快捷方式:盡管這兩種技術均支持鍵盤快捷方式,但由于 Swing 并不依賴于瀏覽器,因此在這方面優勢比較明顯。 所有鍵盤功能均由 Swing 處理并可以由應用程序開發人員控制。 桌面集成:安裝到本地的 Swing 應用程序擁有客戶端桌面的完全訪問權限。 JavaServer Faces 通過上載和下載文件只提供有限的桌面集成。 導航:Swing 只具有編程式導航功能,而不存在為 Swing 標準(定義應根據操作輸出顯示哪個面板)定義的外部控制器。 JavaServer Faces 使用一個控制器組件,可以根據計算輸出使用指定的導航示例對其進行配置。 導航可以定義為操作組件的靜態字符串,而對于更復雜的導航,則可以用 Java 表示。 應用程序控制:與導航相關,相對于在 JavaServer Faces 中而言,應用程序開發人員可以更好地控制客戶端中的 Swing 應用程序。 用戶在 Java 運行時環境中運行 Swing 應用程序,而這并不會因為(例如)工具欄不是應用程序本身的一部分而引起沖突。 在瀏覽器中運行的 JavaServer Faces 應用程序總要求開發人員解決已知的瀏覽器限制。 如今,沒有使應用程序開發人員能夠關閉不需要的瀏覽器行為或功能(如瀏覽器后退按鈕或瀏覽器保留的鍵盤快捷方式)的通用瀏覽器標準和一組通用 API。 性能:對于執行數據密集型操作的應用程序而言,JavaServer Faces 的性能似乎要高于 Swing,這是因為它只顯示對客戶端的更改。 使用 AJAX,所需的下載大小將變得更小,從而性能將得到進一步的提高。 盡管 Swing 可以使用遠程服務器上部署的業務邏輯,但這需要使用遠程方法調用 (RMI),該調用的性能要低于 JavaServer Faces 模型。 但應始終針對單個應用程序來分析網絡性能,并應在可能的用戶界面中考慮應用程序的要求。 安全性:JavaServer Faces 集成了聲明式 J2EE 安全性,從而易于保護 Web 應用程序以及與一次性登錄集成。 Swing 更難于保護,且將基于 J2SE 權限的安全性與需要更多專業技能的 Java 驗證和授權服務 (JAAS) 結合使用。 部署:JavaServer Faces 部署到 J2EE 容器并從 Web 中進行訪問。 該部署的體系結構既可以是兩層的(其中的業務邏輯層與視圖層位于同一服務器上)也可以是三層的。 Swing 通常部署到本地客戶端上,或通過 JavaWeb Start(J2SE 中一個基于服務器的軟件管理選件)進行部署。 對于 JavaServer Faces 而言,使用 Oracle Application Server Control 或相似的管理控制臺可以使部署變得更簡單、更易于管理。 綜上所述,如果應用程序要求對用戶輸入或更改用戶顯示的事件立即做出響應,則 應使用 Swing。 這對在一個屏幕上顯示多個主/從相關性的復雜用戶界面也是如此。 此外,與 Web 相比,Swing 還可以為需要執行即時項目驗證的應用程序(可能基于復雜的邏輯)提供更好的支持。 使用 Swing 的另一個重要原因是需要不僅能文件上載和下載的桌面集成。 此類集成的例子有本地打印機訪問、對電話或掃描儀等外部設備的訪問。 此外,與 Web 技術(其中封閉瀏覽器使用某些鍵盤組合)相比,Swing 可以為需要定義其自身的鍵盤映射的應用程序提供更好的服務。 在構建 Swing 應用程序時,其他瀏覽器功能(如可能妨礙業務控制的應用程序導航的瀏覽器后退按鈕)不會成為問題。 某些業務要求應用程序脫機運行(即與網絡斷開連接),您可以根據此要求來構建 Swing 應用程序。 最后,Swing 應用程序只使用一種語言開發,而 JavaServer Faces 混合使用 Java、XML 和 ExpressionLanguage 等技術。 如果需要可以從任何位置(不要求安裝客戶端)訪問應用程序,則 應使用 JavaServer Faces。 這包括可能為 PDA、移動電話和 telnet 客戶端等顯示設備提供的支持。 與 Swing 不同,JavaServer Faces 可以通過防火墻(使用 HTTP 或 HTTPS 來保護客戶端-服務器通信)進行輕松的運行。 由于邏輯在服務器上執行,因此 JavaServer Faces 更易于部署并需要更少的客戶端資源。 如今,互聯網應用程序已得到普遍使用,因此您可以假設應用程序用戶熟悉 Web 應用程序的外觀和使用。 這降低了用戶在使用新應用程序時的學習難度。 安全性是使用基于 Web 的 JavaServer Faces 應用程序的另一個重要原因。 盡管可以使用 JAAS 構建安全的 Swing 應用程序,但構建與服務器上容器管理的安全性和一次性登錄集成的基于 Web 的應用程序則更為簡單。 此外,與在 Swing 中相比,在 JSF 中更容易實現需要將其中的身份發送到其他組件或應用程序的安全性集成。 但您應該知道的是,將 JSF 與 AJAX 結合使用是基于 Javascript(需要瀏覽器支持)的。 將來,Swing 技術如今具有的優點將逐漸消失。 例如在美國,賓西法尼亞和舊金山兩座城市已經啟動了一些在整個城市提供無線訪問的項目。 一旦世界上的其他國家/地區采用了該模型,那么在斷開連接模式下工作(Swing 當前的優點)將不再必要。 有關 Swing 逐漸失去優勢的另一個例子是 AJAX 有望為 Web 應用程序帶來的即時客戶端顯示響應這一優點。 有選擇的生產效率:是否只須學習一種技術? 成功開發 J2EE 應用程序需要 J2EE 框架和 Java IDE,它們盡量對應用程序開發人員隱藏復雜性,同時還實施了最佳的編碼實踐。 一項互聯網工作招聘快速調查顯示,Web 應用程序開發人員的就業市場遠遠大于 Swing 應用程序開發人員。 因此,在理想情況下您需要學習的一門技術是 Web 應用程序開發,其中包括 JavaServer Faces、AJAX 和 JavaServer Pages。 在需要開發 Swing 應用程序時,如果將 Oracle 應用程序開發框架和 Oracle JDeveloper 與 Swing 結合使用,則 Web 應用程序開發技術就足夠了。 Oracle JDeveloper 是一個支持 J2EE 桌面和 Web 應用程序的集成 Java IDE。 使用 Oracle 應用程序開發框架,應用程序開發人員無須再學習如何使用不同的 API 來訪問各種持久層技術,使用一個一致的 API 就可以了。 使用Oracle ADF,Web 應用程序開發人員可以在設計時和運行時使用與 Swing 應用程序開發人員構建 Java 桌面應用程序所使用的同一組元數據文件。 由于提供了相似的開發環境,因此 Swing 應用程序開發人員將發現開發 Web 應用程序其實比較簡單,反之亦然。 因此,如果您必須只學習一種技術,則建議您最好學習如何使用 Oracle 應用程序開發框架開發 Web 應用程序。 總結JavaServer Faces 與 AJAX 的發展過程就像人類學習走路一樣,是一個漸進的過程。 Web 應用程序最初以靜態界面形式出現,現在已經逐步演變為一個動態應用程序平臺。 AJAX 只不過是需要在其最具有意義的環境 - JSF 中實現的下一個邏輯步驟。 擁有富互聯網客戶端使開發人員可以選擇使用適當的技術解決問題。 富互聯網應用程序 (AJAX)基于組件的 Web 客戶端 (JSF)基于動態標記的 Web 客戶端 (JSP)桌面集成客戶端 (Swing)AJAX 闡述了一種使 J2EE 應用程序開發人員能夠將復雜的業務應用程序發布到 Web 的可能。 作為 Swing 開發人員,您不必在意圍繞 AJAX 展開的宣傳熱潮,但應在意它的動機。 宣傳是為了推廣新機會,而這正體現了 JavaServer Faces 和 AJAX 的本質:為應用程序開發人員構建富 Web 應用程序提供新機會。 Swing 是為客戶端桌面開發 Java 應用程序的標準方法,并且它要解決的開發問題與 JavaServer Faces 和 AJAX 不同。 它通過 Community Process 以及 Sun(它還領導了 Java 桌面網絡組件 (JDNC) 項目)的努力得到不斷發展和改進。 盡管Swing 與 JavaServer Faces/AJAX 在功能上存在重疊,但兩者并不直接競爭。 為某項工作選擇的技術必須解決您要解決的問題,而反之則不然。 使用 Oracle 應用程序開發框架,開發人員可以靈活地選擇相應的技術,以便使用一種基礎技術集開發 Web 應用程序和桌面應用程序。 Frank Nimphius 和Duncan Mills 是Oracle 開發人員工具部門的產品經理,兩人均為 Oracle ACE。



相關標簽: 使用JavaServer、 Faces和AJAX增強用戶交互、 JSFjsf使用css、

上一篇:聲明式組件生命周期管理聲明方法的格式

下一篇:JSF使用JavaServerFaces創建響應式Web設計j

內容聲明:

1、本站收錄的內容來源于大數據收集,版權歸原網站所有!
2、本站收錄的內容若侵害到您的利益,請聯系我們進行刪除處理!
3、本站不接受違法信息,如您發現違法內容,請聯系我們進行舉報處理!
4、本文地址:http://m.sycxjdsbhs.com/article/f2a231afe22ebe4340a3.html,復制請保留版權鏈接!


溫馨小提示:在您的網站做上本站友情鏈接,訪問一次即可自動收錄并自動排在本站第一位!
隨機文章
解開sethc.exe的神秘面紗:超越輔助功能的強大工具 (解開瑟利亞封印)

解開sethc.exe的神秘面紗:超越輔助功能的強大工具 (解開瑟利亞封印)

簡介sethc.exe是Windows操作系統中一個低調而強大的工具,通常被稱為,粘滯鍵實用程序,它最初旨在為那些有身體殘疾、需要使用粘滯鍵功能的人提供幫助,但它還擁有超越輔助功能的廣泛用途,使其成為網絡安全專業人士、系統管理員和好奇用戶的寶貴工具,sethc.exe的功能作為粘滯鍵實用程序,sethc.exe允許用戶通過按五次Sh...。

最新資訊 2024-09-30 17:11:41

在 Tomcat 環境中配置環境變量:分步說明 (在tomcat上發布javaweb應用默認在什么目錄)

在 Tomcat 環境中配置環境變量:分步說明 (在tomcat上發布javaweb應用默認在什么目錄)

本文將分步指導如何在Tomcat環境中配置環境變量,以便在發布JavaWeb應用程序時指定特定配置,發布JavaWeb應用程序的默認目錄在Tomcat環境中,JavaWeb應用程序通常發布在以下目錄中,webapps該目錄位于Tomcat安裝目錄的根目錄下,配置環境變量要配置環境變量,請執行以下步驟,1.修改server.xml文件...。

本站公告 2024-09-28 18:51:04

揭秘 FillSolidRect 函數:繪制矩形的藝術與科學 (揭秘英國新首相:草根律師 愛踢球)

揭秘 FillSolidRect 函數:繪制矩形的藝術與科學 (揭秘英國新首相:草根律師 愛踢球)

在計算機圖形學中,矩形是一個基本且重要的圖形元素,FillSolidRect函數是GDI,中用于繪制實心矩形的函數,它是一個強大的工具,可用于創建各種形狀和效果,FillSolidRect函數簡介FillSolidRect函數的原型如下,voidFillSolidRect,Graphics^graphics,Brush^brush,i...。

最新資訊 2024-09-27 13:58:34

實例變量的魔法:賦予對象靈活性和可擴展性 (實例變量的魔法是什么)

實例變量的魔法:賦予對象靈活性和可擴展性 (實例變量的魔法是什么)

引言在面向對象編程,OOP,中,實例變量扮演著至關重要的角色,它們賦予對象靈活性、可擴展性和可定制性,本文將探討實例變量的魔法,展示它們如何使對象能夠以動態的方式存儲和處理數據,并輕松適應不斷變化的需求,什么是實例變量,實例變量是與特定對象關聯的數據成員,它們存儲有關該對象狀態的特定信息,如姓名、年齡或位置,與類變量,與整個類關聯,不...。

技術教程 2024-09-25 04:09:10

JavaScript導航工具箱:掌握window.history.back()的強大功能 (javascript)

JavaScript導航工具箱:掌握window.history.back()的強大功能 (javascript)

作為JavaScript開發人員,在處理Web瀏覽器的導航時,有必要掌握window.history.back,方法,它允許您控制瀏覽器歷史記錄,為用戶提供無縫的瀏覽體驗,本文將深入探討window.history.back,的強大功能,并提供實際示例來說明它的用法,window.history.back,簡介window.hi...。

最新資訊 2024-09-24 22:36:57

Dapr(depression)

Dapr(depression)

概述抑郁癥是一種常見的心理健康狀況,其特征是持續的情緒低落、喪失興趣或愉悅感,它是世界上首要致殘因素之一,影響著全球超過2.8億人,癥狀抑郁癥的癥狀可能因人而異,但常見癥狀包括,持續的情緒低落或悲傷喪失興趣或愉悅感疲勞或精力不足食欲和睡眠模式的變化注意力和集中力困難自卑感或內疚感自殺念頭或行為原因抑郁癥的確切原因尚不清楚,但被認為是由...。

最新資訊 2024-09-24 19:28:29

SQL 編程高級技巧:探索復雜的查詢和優化 (sql 高級編程)

SQL 編程高級技巧:探索復雜的查詢和優化 (sql 高級編程)

簡介掌握SQL編程的高級技巧對于數據分析師、數據科學家和開發人員至關重要,通過了解復雜的查詢技術和優化策略,您可以最大限度地提高查詢性能、提取有價值的見解并解決復雜的數據問題,復雜的查詢技術遞歸查詢遞歸查詢允許在單一查詢中多次引用同一表,這對于處理層次數據或計算累積聚合非常有用,例如,查找所有子類別的ID和名稱,sqlWITHRECU...。

技術教程 2024-09-16 05:29:17

釋放數據庫的潛力:優化 SQL 索引以獲得超快速查詢 (釋放數據庫的SQL語句)

釋放數據庫的潛力:優化 SQL 索引以獲得超快速查詢 (釋放數據庫的SQL語句)

識別未使用的或低效的索引,移除或重建未使用的索引可以改善性能,示例考慮一個包含客戶記錄的表,客戶表中最常查詢的列是客戶ID和姓名,為了優化查詢,我們可以創建以下索引,CREATEINDEXIX,Customer,IDONCustomers,Customer,ID,CREATEINDEXIX,Customer,NameONCustom...。

最新資訊 2024-09-14 14:15:28

如何培養兒童獨立解決問題的技能:循序漸進的 (如何培養兒童的觀察力)

如何培養兒童獨立解決問題的技能:循序漸進的 (如何培養兒童的觀察力)

會,8.設定切合實際的目標設定切合實際的目標對于培養孩子的獨立性至關重要,避免設定太高的目標,因為這可能會導致沮喪和挫敗感,從小處著手,隨著他們能力的提高逐步提升難度,這有助于他們建立信心并保持動力,9.表揚成功當孩子獨立解決問題時,要表揚他們的努力和成功,這有助于他們維持動力并強化這種行為,避免物質獎勵,而是專注于他們的成就感和內心...。

互聯網資訊 2024-09-14 13:52:35

十步成神:從零基礎到精通 PHP (十步神仙起點中文網)

十步成神:從零基礎到精通 PHP (十步神仙起點中文網)

十步仙緣起點中文網傾情奉獻,為您帶來最全面的PHP學習指南,助您從零基礎邁向PHP精通!第一章,初識PHP什么是PHPPHP的特點PHP的安裝與配置第二章,變量與常量變量的定義與使用變量的數據類型常量的定義與使用第三章,運算符與表達式算術運算符比較運算符邏輯運算符表達式第四章,條件語句if語句switch語句三元運算符第五章,循環語句...。

技術教程 2024-09-09 09:42:00

提高 PHP 應用程序性能的優化指南 (如何提高php性能)

提高 PHP 應用程序性能的優化指南 (如何提高php性能)

在當今快節奏的數字世界中,網站和應用程序的性能至關重要,用戶期望快速加載和響應迅速的應用程序,而緩慢的性能會對用戶體驗產生負面影響,甚至導致收入損失,對于PHP應用程序來說,優化性能至關重要,因為PHP是一種解釋性語言,可能比編譯語言如C,慢,本文將提供一系列經過驗證的優化技術,幫助您提升PHP應用程序的性能,優化代碼1.緩存使用o...。

最新資訊 2024-09-08 19:26:28

Stack Overflow(stackoverflow中文官網)

Stack Overflow(stackoverflow中文官網)

StackOverflow是一個問答網站,致力于解決計算機編程方面的問題,它成立于2008年,現已成為全球最大的編程社區之一,中文官網StackOverflow中文官網于2012年推出,致力于為中國開發者提供一個交流和學習的平臺,中文官網由StackOverflow官方團隊運營,提供與英文官網相同的功能,包括問題提問、回答、投票和評論...。

最新資訊 2024-09-05 13:07:59

Copyright ? 2025 聚集網 All Rights Reserved
此內容系本站根據來路自動抓取的結果,不代表本站贊成被顯示網站的內容或立場。
本頁閱讀量次 | 本站總訪問次 | 本站總訪客人 | 今日總訪問次 | 今日總訪客人 | 昨日總訪問次 | 昨日總訪客人 |
技術支持:聚集網

国产精品成人免费视频_91丝袜美腿美女视频网站_国产一区二区三区在线看_亚洲欧美另类中文字幕_在线电影av不卡网址_国产视频丨精品|在线观看_日韩一区二区三区国产_国产欧美va欧美va香蕉在线_热re91久久精品国99热蜜臀_亚洲第一精品电影_久久九九亚洲综合_国产成人综合精品_97视频在线观看网址_精品视频久久久久久_日韩av片免费在线观看_久久精品国产99国产精品澳门
亚洲电影中文字幕| 久久久久久伊人| 国产精品福利久久久| 久久久久亚洲精品| 亚洲一区亚洲二区亚洲三区| 97视频在线观看免费高清完整版在线观看| 欧美日韩国产丝袜另类| 岛国av在线不卡| 青青青国产精品一区二区| 亚洲影院污污.| 91成人性视频| 亚洲欧洲一区二区三区久久| 国产视频在线一区二区| 欧美午夜电影在线| 九九久久久久99精品| 精品久久久久久中文字幕| 欧美尤物巨大精品爽| 欧美一区二区大胆人体摄影专业网站| 国产精品亚洲精品| 欧美激情一区二区久久久| 日韩在线观看免费全集电视剧网站| 亚洲欧洲在线视频| 亚洲美女www午夜| 国产一区二区黄| 欧日韩不卡在线视频| 亚洲白虎美女被爆操| 深夜福利亚洲导航| 一区二区国产精品视频| 成人情趣片在线观看免费| 色婷婷综合久久久久| 亚洲欧美日本精品| 国产精品自拍视频| 久久久久亚洲精品| 懂色av中文一区二区三区天美| 日韩免费中文字幕| 在线看福利67194| 欧美成在线观看| 欧美高清理论片| 日韩在线视频观看| 九九精品视频在线| 日韩在线视频线视频免费网站| 欧美在线观看日本一区| 欧美日韩综合视频| 成人国产精品一区二区| 日韩成人在线播放| 国产精品成av人在线视午夜片| 亚洲欧洲日本专区| 国产精品丝袜久久久久久不卡| 成人黄色免费片| 97视频色精品| 久久久www成人免费精品| 久久精品久久久久久| 欧美在线视频网| 不卡中文字幕av| 亚洲а∨天堂久久精品9966| 亚洲成人激情在线观看| 欧美乱大交xxxxx| 亚洲欧美中文日韩v在线观看| 中文字幕精品在线| 91精品久久久久久久久久久久久久| 91亚洲一区精品| 欧美性生交大片免费| 亚洲最大av在线| 日韩av日韩在线观看| 正在播放欧美一区| 伊人男人综合视频网| 久久久久久网址| 欧美一级电影免费在线观看| 亚洲一区亚洲二区亚洲三区| 国产一区深夜福利| 亚洲精品网址在线观看| 全亚洲最色的网站在线观看| 人妖精品videosex性欧美| 在线a欧美视频| 日韩中文字幕久久| 亚洲欧美一区二区三区情侣bbw| 中文字幕一区电影| 国产福利精品视频| 国产成人精彩在线视频九色| 日韩一区二区精品视频| 亚洲无限av看| 91香蕉亚洲精品| 欧美激情国产日韩精品一区18| 97人人模人人爽人人喊中文字| 69影院欧美专区视频| 欧美在线免费看| 九九热精品视频| 日韩精品在线观看网站| 91亚洲国产成人久久精品网站| 日韩一区二区三区xxxx| 亚洲美女av在线播放| 欧美麻豆久久久久久中文| 精品国产福利视频| 俺也去精品视频在线观看| 91国产视频在线播放| 不卡av电影院| 亚洲香蕉伊综合在人在线视看| 日本91av在线播放| 日韩av片永久免费网站| 久久久极品av| 亚洲伊人一本大道中文字幕| 国产成人激情视频| 欧美高清无遮挡| 亚洲丝袜在线视频| 综合国产在线视频| 久久久99久久精品女同性| 国产不卡视频在线| 97av在线视频| 成人av.网址在线网站| 欧美激情网站在线观看| 欧美二区乱c黑人| 亚洲福利视频久久| 91久久嫩草影院一区二区| 亚洲а∨天堂久久精品9966| 日韩高清av一区二区三区| 97国产在线观看| 欧美午夜www高清视频| 日韩精品高清在线观看| 国产欧美日韩中文字幕| 亚洲综合在线中文字幕| 日韩电影中文字幕在线| 中文字幕日韩在线视频| 精品一区二区电影| 欧美猛交免费看| 国产美女扒开尿口久久久| 国产69精品99久久久久久宅男| 狠狠躁夜夜躁人人爽超碰91| 久久久久久高潮国产精品视| 国产精品免费久久久| 92裸体在线视频网站| 欧美性在线观看| 在线看欧美日韩| 国产在线观看一区二区三区| 成人女保姆的销魂服务| 欧美精品日韩三级| 久久亚洲私人国产精品va| 国产综合久久久久| 久久免费国产视频| 97国产精品人人爽人人做| 精品成人乱色一区二区| 最近2019中文字幕在线高清| 日本aⅴ大伊香蕉精品视频| 日韩极品精品视频免费观看| 亚洲欧美另类中文字幕| 久久久久久12| 欧美日韩亚洲一区二区三区| 国产欧美一区二区三区四区| 中文字幕日韩免费视频| 在线视频精品一| 亚洲国产精品一区二区久| 欧美午夜激情小视频| 亚洲第一精品夜夜躁人人躁| 国产一区二区三区在线播放免费观看| 丝袜美腿精品国产二区| 亚洲国产欧美一区二区丝袜黑人| 2024亚洲男人天堂| 中文字幕亚洲综合久久筱田步美| 大胆人体色综合| 久久亚洲综合国产精品99麻豆精品福利| 国语自产偷拍精品视频偷| 久久精品国产一区| 久久精品电影网| 亚洲a级在线观看| 欧美激情中文字幕乱码免费|