extjs是一種軟件。自動生成行號,支持checkbox全選,動態(tài)選擇顯示哪些列,支持本地以及遠程分頁,可以對單元格按照自己的想法進行渲染,這些也算可以想到的功能。
| 軟件名稱 | Extjs | 軟件版本 | 1.0正式版 |
|---|---|---|---|
| 更新時間 | 2006年初 | 軟件語言 | 中文 |
| 發(fā)展史 | 進行自定義的擴展 | ||
基于ExtJS的畢業(yè)生通訊錄管理系統(tǒng)的設(shè)計與實現(xiàn)
格式:pdf
大?。?span id="yegi6aw" class="single-tag-height">383KB
頁數(shù): 3頁
評分: 4.6
分析了畢業(yè)生通訊錄的現(xiàn)狀,針對傳統(tǒng)畢業(yè)生通訊錄管理系統(tǒng)的不足提出使用Ext JS框架進行改進。簡述了Ext JS框架技術(shù),闡述了畢業(yè)生通訊錄管理系統(tǒng)的功能模塊設(shè)計、數(shù)據(jù)庫設(shè)計,具體介紹了如何在JSP頁面中引入Ext JS框架以及畢業(yè)生通訊錄管理系統(tǒng)與后臺數(shù)據(jù)庫的交互實現(xiàn)。Ext JS框架與流行的J2EE結(jié)構(gòu)整合充分發(fā)揮各自的優(yōu)點,很好的實現(xiàn)了基于Ext JS的畢業(yè)生通訊錄管理系統(tǒng)。
基于ExtJs技術(shù)的節(jié)能管理信息系統(tǒng)的設(shè)計與實現(xiàn)??
格式:pdf
大?。?span id="w6aqai4" class="single-tag-height">383KB
頁數(shù): 1頁
評分: 4.6
針對當(dāng)前油田節(jié)能管理業(yè)務(wù)走向現(xiàn)代網(wǎng)絡(luò)化的需求,結(jié)合我廠實際情況,詳細闡述了基于ExtJS的節(jié)能管理信息系統(tǒng)的設(shè)計與實現(xiàn),簡述了開發(fā)過程中使用的開源技術(shù)框架,并給出了系統(tǒng)相關(guān)功能描述,提出了結(jié)合三層架構(gòu)開發(fā)模式,基于ExtJS的Web應(yīng)用架構(gòu),實現(xiàn)頁面與業(yè)務(wù)邏輯的高效分離。該架構(gòu)使用不但可以提高我廠的節(jié)能管理水平,而且提高了軟件開發(fā)的可重用性、可擴展性和易維護性。

JavaWeb應(yīng)用開發(fā)框架實例
一、 概述
Web 應(yīng)用架構(gòu)可以劃分為兩大子系統(tǒng):前端子系統(tǒng)和后臺子系統(tǒng)。
前端子系統(tǒng):
1. 基礎(chǔ)技術(shù): Html/Java/CSS / Flash
2. 開發(fā)框架: jQuery, Extjs , Flex 等;
后臺子系統(tǒng):
1. 基礎(chǔ)技術(shù): Java Servlet;
2. 開發(fā)框架: Struts, Spring, Hibernate, ibatis 等;
3. 應(yīng)用服務(wù)器: Tomcat / Jetty
編程模型: B/S 模型。 客戶端向服務(wù)器端發(fā)送請求, 服務(wù)器經(jīng)過處理后返回響應(yīng), 然后客戶端根據(jù)響應(yīng)及需求繪制前端展現(xiàn)。
在用戶客戶端和實際提供功能的Web 服務(wù)器之間還可能存在著代理服務(wù)器, 負載均衡服務(wù)器, 不過那些屬于錦上添花的事物,暫時不在考慮范圍內(nèi)。
客戶端應(yīng)用理念: 客戶端承擔(dān)大量的交互邏輯及渲染工作,服務(wù)器端主要是處理請求和返回數(shù)據(jù)。
前后端系統(tǒng)耦合: 客戶端和服務(wù)器端各自處理自己內(nèi)部的子系統(tǒng)耦合;而客戶端與服務(wù)器端的耦合簡化為一個通信與數(shù)據(jù)通道。該通道用來傳輸通信請求和返回數(shù)據(jù)。
請求通信: 采用 Http / Tcp 協(xié)議
數(shù)據(jù)通道: 采用 Json, xml , 文本字符串,字節(jié)。 內(nèi)部系統(tǒng)一般采用 Json 作為數(shù)據(jù)交換格式;系統(tǒng)間的互操作則采用XML 來規(guī)范;文本字符串是最一般的形式, 字節(jié)是最底層的形式。

JavaWeb應(yīng)用開發(fā)框架實例
二、 架構(gòu)演變
最輕的架構(gòu): jQuery + Servlet + ajax 在客戶端使用 jQuery發(fā)送 ajax 請求給Java 服務(wù)端的 Servlet 進行處理, Servlet 僅僅返回數(shù)據(jù)給客戶端進行渲染。
該架構(gòu)有效地分離了前端展示和后臺請求處理,同時又保持了最輕的復(fù)雜性, 只需要學(xué)會編寫 Servlet 及使用 jQuery , 就能構(gòu)建簡單的應(yīng)用。
如果只是做個人創(chuàng)意演示, 可以采用該架構(gòu), 快速實現(xiàn)自己的創(chuàng)意功能。 Servlet 是Java web 應(yīng)用的基礎(chǔ)技術(shù),jQuery 則是前端開發(fā)的簡單易用的利器。
后臺架構(gòu)演變:
1. 邏輯與頁面的分離: JSP/Servlet
JSP 實現(xiàn)了頁面邏輯與外觀的分離,但是, 前端子系統(tǒng)與后臺子系統(tǒng)仍然是緊密耦合的; 前端設(shè)計人員實際上只需要服務(wù)端返回的數(shù)據(jù), 就可設(shè)計出非常專業(yè)的界面顯示。
2. MVC 架構(gòu):Struts2(含Servlet,MVC) + JDBC
用Servlet 來添加服務(wù)器功能是基本的選擇,但在web.xml中配置大量的 Servlet 卻不是最佳的選擇。
Struts2 在服務(wù)端實現(xiàn)了更豐富的MVC 模式, 將本來由應(yīng)用決定的控制器從web容器中分離。
3. SSH 架構(gòu): Struts2(含Servlet, MVC) + Spring (Ioc) + Hibernate (ORM,對象-關(guān)系映射)
通常, 應(yīng)用系統(tǒng)中需要預(yù)先創(chuàng)建一些單例對象, 比如 Controller, Service, Dao, 線程池等, 可以引入 Spring Ioc 來有效地創(chuàng)建、管理和推送這些對象;使用 Hibernate 來實現(xiàn)關(guān)系數(shù)據(jù)庫的行與面向?qū)ο蟮膶傩灾g的映射與聯(lián)接,以更好地簡化和管理應(yīng)用系統(tǒng)的數(shù)據(jù)庫操作。SSH 可以說是 JavaWeb應(yīng)用系統(tǒng)開發(fā)的三劍客。
4. SI 架構(gòu): SpringMVC(含Servlet, Ioc, MVC, Rest) + iBatis (Semi-ORM)
過于復(fù)雜的架構(gòu)會將人搞暈。因此,在適應(yīng)需求的情況下, 盡量選擇簡單的架構(gòu),是明智之選。 這種架構(gòu)使用面向資源的理念,著重使用Spring作為MVC及應(yīng)用基礎(chǔ)服務(wù)設(shè)施, 同時使用 iBatis 來實現(xiàn)更簡單靈活的ORM映射, 使之在可以理解和維護的范圍內(nèi)。
前端架構(gòu):
1. Flash 架構(gòu): Flex + jQuery + JSP
這是一種比較傳統(tǒng)的前端架構(gòu),采用同步模式, Flex 承擔(dān)大量的頁面渲染工作, 并采用AMF協(xié)議與Java端進行通信, 而JSP 則可以用于更快速的頁面顯示。優(yōu)點是: 經(jīng)過考驗的結(jié)構(gòu), 通常是值得信賴的; 缺點是, 由于采用同步模式, 在交互效果上可能不夠流暢, 需要進行比較耗時的編譯過程;此外, Flex 基于瀏覽器插件運行,在調(diào)試方面有些麻煩。
2. MVC 架構(gòu): Extjs + jQuery
這是一種比較現(xiàn)代的前端架構(gòu), 采用異步模式, Extjs4 可以實現(xiàn)前端子系統(tǒng)的MVC 分離, 對于可維護性是非常不錯的支持;此外, jQuery 可以作為有效的補充。
優(yōu)點: 異步, 快速, 對于企業(yè)內(nèi)部的后臺管理系統(tǒng)是非常好的選擇。
缺點: Extjs4 的可定制性、可適應(yīng)性可能難以適應(yīng)各種特殊的需求,需要用其它組件來補充, 比如大數(shù)據(jù)量的繪制。對于互聯(lián)網(wǎng)應(yīng)用, 速度可能是致命傷。
三、 架構(gòu)的選擇
不要去詢問哪種架構(gòu)更好,更需要做的是清晰地定位項目目標,根據(jù)自己的具體情況來選擇和定制架構(gòu)。反復(fù)地嘗試、觀察和改進,反復(fù)磨煉技藝,這樣才有助于設(shè)計水平的提升。
架構(gòu)的選擇通常有四種關(guān)注點:
1. 適用性: 是否適合你的項目需求。 架構(gòu)有大有小, 小項目用小架構(gòu), 大項目用大架構(gòu)。
2. 可擴展性: 該架構(gòu)在需要添加新功能時,是否能夠以常量的成本添加到現(xiàn)有系統(tǒng)中, 所做的改動在多大程度上會影響現(xiàn)有功能的實現(xiàn)(基本不影響,還是要大面積波及)。
3. 便利性: 使用該架構(gòu)是否易于開發(fā)功能和擴展功能, 學(xué)習(xí)、開發(fā)和測試成本有多大。
4. 復(fù)雜性: 使用該架構(gòu)后,維護起來的成本有多大。你自然希望能夠?qū)懸粭l語句做很多事,使用各種成熟的組件是正確的方式,同時,在項目中混雜各種組件,也會提升理解和維護系統(tǒng)的復(fù)雜度。便利性和復(fù)雜性需要達到較好的平衡。
特殊的關(guān)注點:
譬如,應(yīng)用需要支持高并發(fā)的情況, 需要建立一個底層的并發(fā)基礎(chǔ)設(shè)施, 并向上層提供簡單易用的接口,屏蔽其復(fù)雜性。
四、 架構(gòu)演進的基本手段
架構(gòu)并不是一成不變的, 在做出最初的架構(gòu)之后,隨著開發(fā)的具體情況和需求的變更, 需要對最初架構(gòu)做出變更和改進。
架構(gòu)演進的基本手段:
一致性, 隔離與統(tǒng)一管理, 螺旋式重構(gòu)改進, 消除重復(fù), 借鑒現(xiàn)有方案。
1. 一致性: 確保使用統(tǒng)一模式來處理相同或相似的功能; 解決一次, 使用多次。
2. 模塊化、隔離與統(tǒng)一管理: 對于整體的應(yīng)用, 分而治之,將其劃分為隔離性良好的模塊,提供必要的通信耦合;對于特定的功能模塊, 采用隔離手段,將其隔離在局部統(tǒng)一管理,避免分散在系統(tǒng)的各處。
3. 不斷重構(gòu)改進, 一旦發(fā)現(xiàn)更好的方式, 馬上替換掉原有方式。
4. 盡可能重用,消除重復(fù)。
5. 盡可能先借鑒系統(tǒng)中已有方案并復(fù)用之;如果有更好方案可替換之;
有一條設(shè)計準則是: 預(yù)先設(shè)計, 但不要過早設(shè)計。
意思是說, 需要對需求清楚的部分進行仔細的設(shè)計, 但是對于未知不清楚的需求,要堅持去理解它,但不要過早地去做出“預(yù)測性設(shè)計”;設(shè)計必須是明確的、清晰的、有效的, 不能針對含糊的東西來設(shè)計??梢栽诤笃谕ㄟ^架構(gòu)演進來獲得對后續(xù)需求的適應(yīng)能力。
是以計算機軟件技術(shù)為核心,結(jié)合專業(yè)地質(zhì)災(zāi)害檢測設(shè)備和數(shù)據(jù)分析技術(shù),形成的一套地質(zhì)災(zāi)害預(yù)警預(yù)報和防控的立體解決方案。軟件主要采用基于JAVA6.0語言的J2EE技術(shù)實現(xiàn),部分頁面展現(xiàn)層使用ExtJS技術(shù),雨量計同步功能采用Webservice技術(shù)實現(xiàn),隱患點、監(jiān)控點、氣象分布信息的展現(xiàn)采用基于Flex和GIS概念的創(chuàng)新技術(shù)FakeGIS實現(xiàn)。