版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
社區(qū)融合服務(wù)門戶
詳細設(shè)計
智慧XX詳細設(shè)計
目錄
1弓I言3
1.1編寫目的(Purpose)3
1.2讀者對象(Reader)3
1.3項目背景(BackgroundofProject)3
1.4編寫原貝U(Rule)3
1.5定義(Definitions)4
1.6參考資料(Reference)4
1.7變更歷史(ChangeHistory)4
2需求說明5
2.1總體描述5
2.1.1概述5
2.1.2系統(tǒng)目標5
2.1.3系統(tǒng)結(jié)構(gòu)設(shè)計要求5
2.1.4假設(shè)和約束6
2.2功能需求概述8
2.2.1統(tǒng)一身份認證8
2.2.2內(nèi)容管理8
2.2.3個性化版面9
2.3安全要求概述9
2.4接口要求概述9
2.5性能要求概述9
2.6其他需求概述10
2.6.1用戶使用建議10
2.6.2系統(tǒng)部署建議11
3系統(tǒng)處理流程設(shè)計11
3.1業(yè)務(wù)流程設(shè)計11
4技術(shù)方案設(shè)計12
4.1系統(tǒng)體系結(jié)構(gòu)設(shè)計12
4.1.1總體配置流圖13
4.1.2功能點設(shè)計介紹13
4.2系統(tǒng)功能結(jié)構(gòu)設(shè)計23
5數(shù)據(jù)庫設(shè)計23
5.1結(jié)構(gòu)設(shè)計23
5.2安全性設(shè)計28
5.2.1總體要求28
5.2.2詳細要求28
6應(yīng)用系統(tǒng)設(shè)計29
6.1功能模塊設(shè)計(功能、表單、流程、程序處理說明、其它說明)29
6.1.1門戶定義29
6.1.2門戶元素40
6.1.3基礎(chǔ)數(shù)據(jù)管理65
6.1.4權(quán)限體系管理83
6.2公用構(gòu)件設(shè)計111
1
智慧XX詳細設(shè)計
6.2.1統(tǒng)一身份認證111
7接口設(shè)計114
7.1內(nèi)部接口設(shè)計114
7.2外部接口設(shè)計114
8系統(tǒng)維護設(shè)計115
8.1日常維護設(shè)計115
8.1.1組織機構(gòu)管理模塊115
8.1.2用戶管理模塊115
8.1.3權(quán)限管理模塊116
8.2容錯設(shè)計118
8.2.1出錯信息118
8.2.2補救措施119
2
智慧XX詳細設(shè)計
1引言
1.1編寫目的(Purpose)
為了確?!癤X區(qū)智慧社區(qū)融合服務(wù)門戶”的建設(shè)中開發(fā)工作能夠按時、高
效的完成并穩(wěn)定的正式上線運營。本文將對本系統(tǒng)中所有技術(shù)實現(xiàn)進行詳細的描
述,同時也是對需求分析與概要設(shè)計的具體技術(shù)實現(xiàn)。
1.2讀者對象(Reader)
本文檔的讀者對象為項目經(jīng)理、系統(tǒng)架構(gòu)師、系統(tǒng)研發(fā)人員、系統(tǒng)甲方、監(jiān)
理單位。
1.3項目背景(BackgroundofProject)
XX區(qū)作為安徽省唯一一個區(qū)級單位(全省共有三市一區(qū))被認定為第一批
國家智慧城市試點城區(qū)。開展了“XX市XX智慧校園”、“XX市XX智慧社區(qū)”、
“XX市XX智慧醫(yī)療”、“XX市XX智慧政務(wù)”和“XX市XX智慧旅游”等方
面的建設(shè)方案和規(guī)劃。智慧城市建設(shè)將推動XX區(qū)集約、智能、綠色、低碳的新
型城鎮(zhèn)化發(fā)展,對拉動內(nèi)需,帶動產(chǎn)業(yè)轉(zhuǎn)型升級具有非常重要的意義。
“XX市XX智慧社區(qū)融合服務(wù)門戶”作為智慧社區(qū)的重要組成部分,為智
慧社區(qū)各子系統(tǒng)提供統(tǒng)一展示整合的平臺。
1.4編寫原則(Rule)
需要遵循的原則。
1)統(tǒng)一規(guī)劃、統(tǒng)一設(shè)計思想、統(tǒng)一信息交換標準,統(tǒng)一技術(shù)規(guī)范。
2)采用開放式系統(tǒng)、最大限度地保護原有資源、并立足長遠發(fā)展。
3)應(yīng)用系統(tǒng)工程的方法,根據(jù)實際業(yè)務(wù)需要,最優(yōu)化地重組業(yè)務(wù)處理流程。
4)應(yīng)用成熟的先進技術(shù)實施系統(tǒng)。
5)統(tǒng)一組織,分層建設(shè),注重實效。
3/120
智慧XX詳細設(shè)計
1.5定義(Definitions)
>J2EE:基于java的企業(yè)級應(yīng)用解決方案;
>MVC:Model-View-Control:程序設(shè)計模式,業(yè)務(wù)層,表現(xiàn)層,控制層分開,
各司其職;
>Action:Strustsl或Strust2的控制器,完成控制層的功能;
>Service:服務(wù)層,完成業(yè)務(wù)層的邏輯處理;
>DA0:數(shù)據(jù)訪問對象,支撐服務(wù)層完成數(shù)據(jù)存取;
>Hibernate:java的ormap解決方案;
>工作流:使得業(yè)務(wù)過程的部分或整體在計算機中得以模擬和實現(xiàn)的計算機技
術(shù)。
1.6參考資料(Reference)
《【招標文件】XX市智慧XX》
《【投標文件】XX市智慧XX》
《【XX市XX區(qū)智慧社區(qū)】社區(qū)行政服務(wù)中心管理系統(tǒng)需求分析說明書》
1.7變更歷史(ChangeHistory)
后日期變更詳情
口
號貝
4/120
智慧XX詳細設(shè)計
2需求說明
2.1總體描述
2.1.1概述
智慧社區(qū)融合服務(wù)門戶旨在為用戶提供一個集中的入口,通過該入口可以獲
得幾乎所有的信息和服務(wù)。其內(nèi)容主要包括統(tǒng)一身份認證系統(tǒng)、內(nèi)容管理、界面
個性化管理、基礎(chǔ)數(shù)據(jù)管理、權(quán)限體系管理。
2.1.2系統(tǒng)目標
通過統(tǒng)一身份認證系統(tǒng)提供單點登錄功能,用戶只需登錄融合服務(wù)門戶即可
訪問其集成的所有業(yè)務(wù)子系統(tǒng)。
2.1.3系統(tǒng)結(jié)構(gòu)設(shè)計要求
1、組件原則
基于當前流行的組件技術(shù),將具有同類功能的JAR包,以組件的方式提供
業(yè)務(wù)系統(tǒng)使用,實現(xiàn)了系統(tǒng)的易維護性和可擴展性。
3、通用性原則
采用全新的通用設(shè)計理念,在不修改程序代碼的前提下,系統(tǒng)從空間圖形
數(shù)據(jù)庫到屬性數(shù)據(jù)庫以及系統(tǒng)的業(yè)務(wù)邏輯均可以進行擴充,從而保證業(yè)務(wù)需求即
使發(fā)生了變化,系統(tǒng)都可以進行自由擴展。
4、擴展性原則
遵循組件管理原則,充分考慮其可擴充性,采用面向?qū)ο蟮能浖こ碳夹g(shù),
將應(yīng)用管理平臺抽象化、參數(shù)化,盡可能地應(yīng)付各種業(yè)務(wù)變化,有利于系統(tǒng)升級、
功能的擴展與延伸。
5、安全性原則
遵循嚴格的安全管理機制和權(quán)限控制機制,采用統(tǒng)一的單點登錄方式對用
戶身份進行驗證;此外由于采用組件與業(yè)務(wù)系統(tǒng)分離的方案,導(dǎo)致系統(tǒng)具有安全
5/120
智慧XX詳細設(shè)計
隱患,因此通過口令驗證與服務(wù)綁定的方式解決這一問題。
6、開放性原則
遵循標準的接口規(guī)范,實現(xiàn)信息數(shù)據(jù)的充分共享與靈活集成;系統(tǒng)設(shè)計保
持開放性,嚴格遵循相關(guān)的工業(yè)標準,以充分保障系統(tǒng)與其他應(yīng)用系統(tǒng)間的無縫
集成。
7、實用性原則
依據(jù)用戶的實際需要,設(shè)計上力求結(jié)構(gòu)優(yōu)化、數(shù)據(jù)庫管理完善、界面簡單
友好、使用方便、工作流程科學(xué)合理。
2.1.4假設(shè)和約束
系統(tǒng)必須符合下面給出的運行環(huán)境要求,包括硬件環(huán)境,軟件環(huán)境和網(wǎng)絡(luò)
環(huán)境。
運行環(huán)境約束
.1硬件要求
系統(tǒng)運行至少需要4臺服務(wù)器,兩臺服務(wù)器搭建數(shù)據(jù)庫集群環(huán)境兩臺服務(wù)
器搭建應(yīng)用軟件集群環(huán)境。
.2基礎(chǔ)軟件要求
軟件系統(tǒng)平臺設(shè)計,包括系統(tǒng)軟件、數(shù)據(jù)庫軟件、中間件產(chǎn)品以及其他支
撐軟件的選型、配置。
序號項目內(nèi)容參數(shù)說明
WindowsServer2003R2EnterpriseEdtioc(SP2)及
安裝版本
以上
操作系統(tǒng)安按照Windows系統(tǒng)加固方案進行整改,加固項目
1
裝配置包括:
系統(tǒng)加固
更新補丁情況;
系統(tǒng)根目錄/系統(tǒng)目錄權(quán)限;
6/120
智慧XX詳細設(shè)計
系統(tǒng)服務(wù)開放情況;
IIS情況檢查;
密碼策略;
安全審核;
缺省共享、空連接、管理共享;
日志記錄;
帳號對所有卷的訪問權(quán)限;
注冊表加固;
其他設(shè)置。超級管理員帳戶administrator更名。
數(shù)據(jù)庫安裝OracleDatabaseEnterpriseEdition10G
2安裝版本
配置
防病毒軟件名稱、版本統(tǒng)一采購殺毒軟件
3
升級病毒庫升級
4JDK安裝版本JDK1.5.0_ll
5TOMCAT安裝版本Tomcat-6.0.16
6中間件應(yīng)用服務(wù)器BEAWeblogicServer9.0Advantage
業(yè)務(wù)流程管D:\
7安裝路徑
理系統(tǒng)說明:供系統(tǒng)流程配置管理使用。
8其它軟件UltraEdit說明:代碼編輯軟件。
系統(tǒng)采用Java語言進行開發(fā),不使用任何封閉的專用開發(fā)工具,避免由此
引起的系統(tǒng)不兼容等問題。
.3網(wǎng)絡(luò)環(huán)境要求
系統(tǒng)運行至少需要XX區(qū)政務(wù)內(nèi)網(wǎng)、海淀政務(wù)移動網(wǎng)、互聯(lián)網(wǎng)的網(wǎng)路環(huán)境。
社區(qū)行政服務(wù)中心管理系統(tǒng)是在XX區(qū)政務(wù)內(nèi)網(wǎng)運行,“政務(wù)通”通過XX區(qū)網(wǎng)
格化移動網(wǎng)與系統(tǒng)進行連接,網(wǎng)上服務(wù)大廳是通過互聯(lián)網(wǎng)為居民提供辦事服務(wù)。
7/120
智慧XX詳細設(shè)計
技術(shù)條件與限制
必須采取J2EE技術(shù),符合J2EE規(guī)范;必須采用Oracle數(shù)據(jù)庫。
2.2功能需求概述
2.2.1統(tǒng)一身份認證
通過融合服務(wù)門戶,用戶可以在局域網(wǎng)內(nèi)或廣域網(wǎng)內(nèi)隨時隨地登錄系統(tǒng),通
過統(tǒng)一身份認證系統(tǒng)驗證身份后,即可進行所有權(quán)限范圍內(nèi)的業(yè)務(wù)處理。
2.2.2內(nèi)容管理
所有子系統(tǒng)所具有的功能都可以作為企業(yè)門戶的內(nèi)容,用戶登錄門戶后能夠
處理所有系統(tǒng)的業(yè)務(wù)。同時,門戶應(yīng)能對后臺各系統(tǒng)的功能進行整合,例如,將
后臺所有的待審批事項、待審批報銷單、待審批人員調(diào)動審批等審批流事項,集
中在流程專區(qū),審批人可以通過流程專區(qū)直接處理所有待審批事項。
8/120
智慧XX詳細設(shè)計
2.2.3個性化版面
門戶為用戶提供與其角色所對應(yīng)的服務(wù),同時,用戶可以對所提供的服務(wù)內(nèi)
容進行個性化的設(shè)置。例如,可以將其常用的欄目信息放置在頁面首頁,決策者
將常用各種統(tǒng)計圖表按專題直觀地顯示在自助服務(wù)中,以節(jié)省時間,提高效率。
2.3安全要求概述
>基于認證授權(quán)的系統(tǒng)訪問機制;
>基于分權(quán)的系統(tǒng)訪問策略;
>基于全程日志的系統(tǒng)訪問痕跡留存;
>關(guān)鍵數(shù)據(jù)加密處理。
2.4接口要求概述
>遵守電子政務(wù)XML標準,數(shù)據(jù)采用XML進行描述。
>使用日志管理技術(shù),詳細記錄傳輸過程信息。
>遠程調(diào)用必須提供回執(zhí),以獲得接口執(zhí)行的結(jié)果的反饋。
2.5性能要求概述
在系統(tǒng)建設(shè)和免維期中通過各種手段對系統(tǒng)進行不斷的優(yōu)化和調(diào)整。對于
特定的業(yè)務(wù),項目建設(shè)時在最大限度地滿足業(yè)務(wù)開展要求和用戶使用習(xí)慣的前提
下,通過海淀區(qū)城指中心和北科光大的共同協(xié)商,制定具體的性能要求指標。
?系統(tǒng)可靠性
采用大型數(shù)據(jù)庫系統(tǒng),對數(shù)據(jù)庫記錄數(shù)的增長沒有限制,并且保證大容量
數(shù)據(jù)的可操作性;系統(tǒng)不應(yīng)陷入用戶無法控制的狀態(tài)。即使當系統(tǒng)容量達到和超
出極限,或者由其他系統(tǒng)或用戶造成錯誤輸入的情況下,系統(tǒng)不應(yīng)崩潰也不應(yīng)丟
失數(shù)據(jù)。
?系統(tǒng)易用性、易瀏覽性和可操作性
系統(tǒng)采用多層架構(gòu)的B/S結(jié)構(gòu),提供諸如確認、詢問、警告、出錯報告等
易于覺察、易于讀取的信息來服務(wù)于用戶;具有嚴重后果的操作應(yīng)當可逆;屏幕
9/120
智慧XX詳細設(shè)計
輸入格式、報表和其他輸入/輸出宜整齊、清晰和易于瀏覽。
?系統(tǒng)的開放性
具備標準的軟件體系結(jié)構(gòu)、內(nèi)部和外部接口,提供多種開發(fā)工具接口,支
持用戶定制能力;保證系統(tǒng)能與其它系統(tǒng)進行快速、順利的信息交換,便于系統(tǒng)
擴展和升級。
系統(tǒng)應(yīng)用具有可擴展性,能夠適應(yīng)指標的變動;系統(tǒng)穩(wěn)定、可靠;操作簡
便、易用,用戶經(jīng)過簡單的培訓(xùn)即可學(xué)會使用;有全面的幫助系統(tǒng),輔助用戶學(xué)
習(xí)系統(tǒng)的功能和實現(xiàn)方法。
?性能指標要求
1.數(shù)據(jù)精確性:按照不同類別和計量單位設(shè)定數(shù)據(jù)的小數(shù)位數(shù);
2.容量要求:采用大型數(shù)據(jù)庫系統(tǒng),對數(shù)據(jù)庫記錄數(shù)的增長沒有限制,并
且保證大容量數(shù)據(jù)的可操作性;
3.應(yīng)用:具有可擴展性,能夠適應(yīng)指標的變動;系統(tǒng)穩(wěn)定、可靠;操作簡
便、易用,用戶經(jīng)過簡單的培訓(xùn)即可學(xué)會使用;有全面的幫助系統(tǒng),輔助用戶學(xué)
習(xí)系統(tǒng)的功能和實現(xiàn)方法;
4.查詢結(jié)果輸出:將查詢結(jié)果輸出到通用的辦公文件格式。
5.人機界面:友好,輸入輸出方便;界面設(shè)計遵循人性化、簡單、方便實
用的原則。
2.6其他需求概述
2.6.1用戶使用建議
系統(tǒng)的開發(fā)不僅要提供用戶所需要的功能,而且要讓用戶操作方便,符合
用戶的業(yè)務(wù)習(xí)慣,滿足用戶方便、高效、安全的使用要求,具體主要體現(xiàn)在用戶
操作界面以人為本的設(shè)計等方面。在使用要求方面,至少應(yīng)包括:
>系統(tǒng)穩(wěn)定、可靠和實用;
>人機界面友好、操作方便靈活,使用風(fēng)格接近終端操作系統(tǒng)視窗,符合office
軟件用戶習(xí)慣;
>具有簡單明確易于理解的操作提示;
10/120
智慧XX詳細設(shè)計
>功能菜單簡明清晰,具有可設(shè)定的快捷鍵和右鍵菜單;
>業(yè)務(wù)流程簡單明了,流程設(shè)計可因需而變。
2.6.2系統(tǒng)部署建議
實行統(tǒng)一的系統(tǒng)管理和安全備份工作。所有軟件系統(tǒng)部署時均要符合XX區(qū)
智慧社區(qū)對上線軟件的要求。
3系統(tǒng)處理流程設(shè)計
3.1業(yè)務(wù)流程設(shè)計
本系統(tǒng)做為各個業(yè)務(wù)子系統(tǒng)的統(tǒng)一集成者,自身不包含業(yè)務(wù)處理,所有操作
遵循以下通用操作流程:
11/120
智慧XX詳細設(shè)計
4技術(shù)方案設(shè)計
4.1系統(tǒng)體系結(jié)構(gòu)設(shè)計
SpringFrameworkC
s1nle(o
-、oced
量"^action二ercep±or^(
ITAedG
OS±rvrts2rOe
CaPsen
nmr
Sssia
eauhtf
rcp)o
vLogicLayertpr
iio
or
cn
e)t
DatabaseAcoessLayer
(iBat.is)
」
J
-
-
E)=aba
12/120
智慧XX詳細設(shè)計
4.1.1總體配置流圖
4.1.2功能點設(shè)計介紹
Spring
在這個系統(tǒng)里面,所有的對象都在Spring容器里面被管理,Spring框架的
主要功能包括以下幾個方面:
>IoC容器,這里使用Spring來實現(xiàn)反向注入并且來管理所有對象生命周
期,對對象進行統(tǒng)一管理有如下好處:
?統(tǒng)一對象管理是SpringA0P的基礎(chǔ),而通過A0P我們可以比較方便
的實現(xiàn)包括事物控制在內(nèi)的多種控制。
?IoC可以簡化一些設(shè)計模式,例如對于Logic對象,我們只要把他們
實現(xiàn)我POJO對象就可以,無需另外編程實現(xiàn)Singleton和工廠類等
設(shè)計模式。
>A0P功能,這里最主要應(yīng)用是配置式TransactionControl,這樣的目的
13/120
智慧XX詳細設(shè)計
是可以讓開人不需要關(guān)心事物控制而把更多的注意力集中在邏輯實現(xiàn)上
面。
Spring配置式事物控制所需的配置如下:
<beanid="transactionManager”
class=〃org?springframework.jdbc.datasource.DataSourceTransactionManag
er>
<propertyname="dataSource"ref=z,dataSourcez//>
</bean>
<beanid二〃baseTransactionProxy”
class=〃org?springframework.transaction,interceptor.TransactionProxyFa
ctoryBeanz,
abstract二〃true〃>
<propertyname=zztransactionManagerz,
ref=,ztransactionManagerz,/>
<propertyname=/,transactionAttributes,z>
<props>
<propkey=z/insert*z,>PROPAGATION_REQUIRED</prop>
<propkey=z/update*zz>PROPAGATION_REQUIRED</prop>
<propkey=,,maintian*/,>PROPAGATION_REQUIRED</prop>
<propkey=,,delete*,,>PROPAGATION_REQUIRED</prop>
<propkey=z,*z/>PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
</bean>
另外,還可以使用AOP實現(xiàn)其他功能,如Log打印等等。
>Spring可以與Struts2集成起來,達到配置上的統(tǒng)一,struts*,xml
里面配置的Class可以直接使用Spring配置文件里面的BeanID,如:
14/120
智慧XX詳細設(shè)計
<actionname="listLatData"class="searchLatAction”
method—'1istLatData”>
</action>
Spring也能和iBatis集成,Spring提供了針對iBatis的工具類:
SqlMapClientDaoSupport,系統(tǒng)的BaseDao只需要繼承SqlMapClientDaoSupport
便可以直接調(diào)用其中的方法達到簡化Dao層代碼的目的。
具體的代碼請參照:BaseDaoImplo
>此外,我們還可以把其他的開源框架集成到系統(tǒng)中,如可以和CXFWeb
Service和Quartz等框架集成。
iBatis
項目使用iBatis負責(zé)數(shù)據(jù)層的操作,包括對數(shù)據(jù)庫內(nèi)容的增刪改查等功能。
iBatis要求開發(fā)人員在配置文件里面編寫自己的SQL語句,而iBatis框架
會負責(zé)配置文件變量映射,SQL執(zhí)行以及把返回結(jié)果映射到POJO對象中。這就
說明一個方面iBatis支持的是純粹的SQL,在SQL操作層面并不存在額外太多
的性能開銷,同時開發(fā)人員可以根據(jù)業(yè)務(wù)復(fù)雜度對SQL做任意調(diào)節(jié),避免性能問
題的出現(xiàn)。另一個,iBatis會自動映射結(jié)果集,所以在返回集有限的情況下,
能夠方面開發(fā)人員進行編碼;在返回大數(shù)據(jù)集的情況下(如某些不適合用存儲過
程的定時任務(wù)),開發(fā)人員也可以直接跳過iBatis層而使用JDBC的API去進行
數(shù)據(jù)庫開發(fā),從而保證速度和內(nèi)存消耗。
作為平臺本身,也對iBatis做了部分擴展,一個是使用Spring提供的
iBatis工具類,工具類會輔助處理包括配置文件初始化,數(shù)據(jù)庫訪問異常等等
情形,從而保證開發(fā)人員只需要對數(shù)據(jù)庫操作的具體業(yè)務(wù)進行編碼;另一方面,
現(xiàn)在的平臺框架重寫了iBatis的SqlExecutor類,這樣為系統(tǒng)的擴展做好了準
備,也就是說,系統(tǒng)可以在執(zhí)行sql之前進行一些功能操作,如進行日志控制、
修改SQL的操作。
15/120
智慧XX詳細設(shè)計
ServiceLayer
ServiceLayer是介于Action和Dao層的業(yè)務(wù)邏輯層。按照系統(tǒng)設(shè)定的開
發(fā)規(guī)范來說,當Action獲取傳入?yún)?shù)以后,會調(diào)用相對應(yīng)的業(yè)務(wù)邏輯Service
方法去完成實際的業(yè)務(wù)邏輯操作。
為了規(guī)范開發(fā)和支持可擴展性,所有的Service操作都需要先定義接口,
然后才去編寫具體實現(xiàn)方法。這樣做會導(dǎo)致編碼工作量有一定程度的增加,但這
樣做的好處是能夠更好的規(guī)范代碼格式并且為支持多實現(xiàn)提供基礎(chǔ),從而在一定
程度上提高系統(tǒng)健壯性。
Service層的所有對象的生命周期也由Spring容器管理。
Struts2
與Struts相比,Struts2的主要優(yōu)點是:Struts2的所有類都基于接口,
核心獨立于HTTP,它的Action是普通的POJO,這樣使得整個Struts2應(yīng)用更
加便于測試;另外,Struts2對表單處理方面也有了許多改進,如:POJO表單、
智能默認值、改進標簽、Ajax的支持等等;Struts2也可以與Spring無縫的繼
承。對其中部分單獨的功能點做下介紹:
,Action:Struts2中Action是核心內(nèi)容,它包含了對用戶請求的處理
邏輯,我們也稱Action為業(yè)務(wù)控制器。Struts2中的Action采用了低
侵入式的設(shè)計,Struts2不要求Action類繼承任何的Struts2的基類
或?qū)崿F(xiàn)Struts2接口,并且沒有與ServletAPI耦合,因此更加便于測
i、六一Uo
在Struts2的配置文件,我們可以之間把URL映射為Action中的具體方
法,Struts2框架會在方法之前完成數(shù)據(jù)轉(zhuǎn)化,所以我們可以直接在Action層
獲取V0對象并開始業(yè)務(wù)邏輯的驗證和操作。
,攔截器(interceptor):攔截器也是Struts2的一個重要功能,Struts
2已經(jīng)提供了多種功能齊全的攔截器實現(xiàn),并且已經(jīng)在
struts-default.xml配置了攔截器。當我們需要使用的時候,只需要在
自己的Struts文件里把struts-default.xml包含進來并且定義Action
16/120
智慧XX詳細設(shè)計
的時候引用攔截器或者攔截器棧就可以了。
,Tiles:tiles和下面的struts-menu其實均不是struts2的功能范疇,
但他們都能夠和struts2緊密的結(jié)合起來做一些事情。Tiles的主要功
能是簡化Web頁面的開發(fā),提高可重用性和可擴展性;它提供了一種模
版機制,模版可以定義網(wǎng)頁布局,然后被多個頁面公用。Tiles框架還
允許定義可重用的Tiles組件,它可以描述一個完整的網(wǎng)頁,也可以描
述網(wǎng)頁的局部內(nèi)容。簡單的Tiles組件可以被組合或擴展成為更復(fù)雜的
Tiles組件。
?StrutsMenu;主要是用來實現(xiàn)多種多樣的菜單功能,且可以和Struts1
和2緊密的結(jié)合起來。另外,通過對StrutsMenu權(quán)限接口的實現(xiàn),可
以靈活的對菜單進行權(quán)限控制。
相對來說,Struts2比Struts在設(shè)計方面更加完備,使用也更為簡單,而
且上手也很容易??赡苁煜に詭У膕truts2標簽需要更多的時間,不過我們也
可以使用標準的JSTL標簽庫。
如同Struts一樣,Struts2在驗證方面不是特別成熟,雖然我們可以通過
配置實現(xiàn)前后臺的驗證,但自動生成的JavaScript腳本有時候很難完全滿足頁
面驗證的需要。在現(xiàn)在的項目中,我們另外引入了一個自行開發(fā)的JavaScript
驗證庫來解決這個問題。
Ajax
就我們現(xiàn)有的經(jīng)驗來說,我們主要是使用Prototype和jQuery這兩個JS
框架簡化我們的Ajax開發(fā)。當然,Ajax框架相對來說還是比較多的,如DWR、
Dojo.ExtJS以及其他很多框架都是可以考慮的選擇。
個人來說,我比較傾向于選擇jQuery,相對于Dojo和ExtJS來說,JQuery
更加輕量一點,但它對Ajax和DOM的封裝處理能力也非常的好。對于我們現(xiàn)在
的應(yīng)用來說,并不需要非常多的頁面特效功能,jQuery完全可以勝任現(xiàn)在的需
要;另外,jQuery在社區(qū)的口碑也很好。
17/120
智慧XX詳細設(shè)計
Exception設(shè)計
異常處理是程序設(shè)計和開發(fā)的重要環(huán)節(jié),為了規(guī)范系統(tǒng)內(nèi)異常處理的方法,
防止錯誤的異常處理或者錯誤的異常處理消息,系統(tǒng)將采用以下異常處理設(shè)計原
則。
BaseException
在系統(tǒng)級別,定義一個通用的異常父類:BaseException,下面是對
BaseException類的一些介紹:
BaseException是系統(tǒng)內(nèi)容所有異常的父類,根據(jù)系統(tǒng)的實際需要,對
BaseException進行派生形成以下子類,各個子類用來劃分各種錯誤,以便進行
分別得處理。
派生異常說明
DBExceptionDB操作時發(fā)生的錯誤
SystemException系統(tǒng)異常
WarningException警告異常
LogicException業(yè)務(wù)邏輯上的錯誤
BaseException有以下功能:
,在內(nèi)部維持系統(tǒng)決定的MessageID.
,可以從配置文件自動的提取與MessageID綁定的Message語句,并且可
以被外部所獲取
,通過傳遞MessageID中設(shè)定的參數(shù),可以對錯誤Message進行編輯。
,取得Exception的錯誤堆棧信息
.1DBException
負責(zé)處理SQL語句執(zhí)行時的錯誤,包括SQL語句錯誤,執(zhí)行SQL錯誤以及
映射ResultSet的時候出錯。該異常是由DA0層產(chǎn)生,可以向上拋出,最后由
系統(tǒng)處理。
18/120
智慧XX詳細設(shè)計
SampleCode:thrownewDBException(messageid,[params,]e);說明
如下:
參數(shù)類型說明
配置文件中對應(yīng)的messageid,異常發(fā)生時,從
messaStrin
配置文件中取得message內(nèi)容,輸出log或輸出在頁
geldg
面上。
paramObjec
st[]messageid對應(yīng)的message中可退換的參數(shù)
Throw
eable異常,通常為SQLExceptiono
.2SystemException
此異常主要是負責(zé)處理程序自身原因發(fā)生的錯誤,如空指針異常,數(shù)組越
界等,在各個層面都可能出現(xiàn)此類異常,遇到此類異常,需要向上拋出,由框架
統(tǒng)一處理。
SampleCode:thrownewSystemException(messageld[,params][,e]);
說明如下:
參數(shù)類型說明
配置文件中對應(yīng)的messageid,異常發(fā)生時,從配
置文件中取得message內(nèi)容,輸出log或輸出在頁面
messageldString
上。
paramsObject[]messageid對應(yīng)的message中可退換的參數(shù)
eThrowable某類處理異常
.3WarningException
通常發(fā)生在業(yè)務(wù)處理層,此類異常并不會影響業(yè)務(wù)的執(zhí)行,但是有必要給
用戶一些提示性的消息,可以向上拋出此異常,由框架在正常頁面顯示出一條提
示信息。
SampleCode:thrownewSystemException(messageld[,params][,e]);
19/120
智慧XX詳細設(shè)計
說明如下:
參數(shù)類型說明
配置文件中對應(yīng)的messageid,異常發(fā)生時,從配置
文件中取得message內(nèi)容,輸出log或輸出在頁面
messageldString
上。
paramsObject[]messageid對應(yīng)的message中可退換的參數(shù)
eThrowable異常,
.4LogicException
業(yè)務(wù)處理邏輯上發(fā)生的異常,主要在業(yè)務(wù)邏輯層產(chǎn)生,像上拋出,由框架
處理。
SampleCode:thrownewSystemException(messageId[,params][,e]);
說明如下:
參數(shù)類型說明
配置文件中對應(yīng)的messageid,異常發(fā)生時,從配置
文件中取得message內(nèi)容,輸出log或輸出在頁面
messageldString
上。
paramsObject[]messageid對應(yīng)的message中可退換的參數(shù)
eThrowable異常,
.5異常處理規(guī)則
DBException主要是由框架來捕獲并且處理,對于SystemException,需要
在可能有問題的地方盡量捕捉,對于WarningException和LogicException,需
要根據(jù)實際的邏輯處理情況進行捕捉。所有的Exception可以向上拋出,由框架
統(tǒng)一處理。
Log設(shè)計
.1Log介紹
項目應(yīng)用Log可以分為以下四類:監(jiān)視Log、操作Log、認證Log以及解析
20/120
智慧XX詳細設(shè)計
Logo
Log的種類和目的用途關(guān)系如下:
目的\log的種類監(jiān)視log操作log認證log解析log
錯誤檢查?原因的特定?
分析O
operation調(diào)查O
安全管理OO
其他系統(tǒng)連攜調(diào)查O
DebugO
Log的種類和說明如下:
L說明
evel
ERRORApplication的一部分功能(enduser進行了1個action后的一個處理、batch的1
個執(zhí)行單位等)不能持續(xù)動作時的情報
WARN處理能夠繼續(xù),但是必須提請user或者系統(tǒng)管理員注意的情報
INFO正常運行,但是特地判斷為應(yīng)該向log記錄的情報
DEBUG程序的內(nèi)部動作狀態(tài)等,在系統(tǒng)開發(fā)時及在發(fā)生問題時用于調(diào)查的必要情報
各種Log對應(yīng)的LogLevel定義如下:
監(jiān)視log操作log認證log解析log
INFO以上INFOINFODEBUG以上
.2Log使用
下面就Log的使用進行一些介紹,首先,我們在
com.founder,foundersc.web.framework,log里面封裝了一些類,具體如下:
類名說明對應(yīng)口說明
OnlineLogLog對象監(jiān)視log
OperationLogLog對象認證log
AuthLogLog對象操作log
DebugLogLog對象解析log
LogFactoryLog工廠類產(chǎn)生各種Log對象
21/120
智慧XX詳細設(shè)計
LogUtilLog工具類Log調(diào)用的共通機能
各個Log的具體使用:
>監(jiān)視Log
獲取方法如下:privateOnlineLogonlineLog=
LogFactory.getOnlineLog(xxx.class);
以error為例,調(diào)用方法如下:error(Throwablecause,Stringuserid,
StringmsgID,Objectvalues),其中cause為捕獲的異常,userid為當前用
戶的登陸ID,msgld是指在properties文件里面存放的Message對應(yīng)的Key,
values對應(yīng)的是Porperties文件里Message里面的變量。
輸出形式:2009-5-14|01:16:01.7071
thread-19802|ERROR|t03abcd|abcdl234|NT00011S|設(shè)定文件
foundersc.properties沒有找到...
>認證Log
獲取方法如下:privateAuthLogauthLog
LogFactory.getAuthLog(xxx.class);
調(diào)用方法和輸出形式與監(jiān)視Log相似,不再敘述。
>操作Log
獲取方法如下:privateOperationLogopeLog
LogFactory.getOperationLog(xxx.class);
調(diào)用方式和輸出形式與監(jiān)視Log相似。
>解析Log
獲取方法如下:privateDebugLogdebugLog
LogFactory.getDebugLog(xxx.class);
調(diào)用方法如下:debug(StringyourMessage);
輸出形式:2006-05-30116:39:13.8071thread-19802|DEBUG|testmessage
>注意點
需要注意的是,在進行Log輸出的時候,不能夠把一些敏感信息:如賬戶,
密碼信息輸出到Log里面,如果是在需要,可以把關(guān)鍵部分使用*代替。
22/120
智慧XX詳細設(shè)計
4.2系統(tǒng)功能結(jié)構(gòu)設(shè)計
融合服務(wù)門戶系統(tǒng)
/、/\c、
門戶定義管理門戶元素管理基礎(chǔ)數(shù)據(jù)管理權(quán)限體系管理
■
1111ali1111mB1aBi111111111111al1111Mli111Ml1ali1111111a11111H111Ml
5數(shù)據(jù)庫設(shè)計
5.1結(jié)構(gòu)設(shè)計
表格清單
名稱代碼
APP_APPENTITYATTRIBUTEAPP_APPENTITYATTRIBUTE
APP_APPENTITYUIAPP_APPENTITYUI
APP_APPLICATIONADMINAPP_APPLICATIONADMIN
APP_APPLICATIONFUNCPERMISSIONAPP_APPLICATIONFUNCPERMISSION
APP_APPLICATI0NGR0UPAPP_APPLICATIONGROUP
APP_APPLICATIONPERMISSIONAPP_APPLICATIONPERMISSION
APP_APPLICATI0NR0LEAPP_APPLICATIONROLE
23/120
智慧XX詳細設(shè)計
APP_APPLICATIONRULEAPP_APPLICATIONRULE
APP_APPLICATIONUSERAPP_APPLICATIONUSER
APP_APPPERMISSI0NCLASSAPP_APPPERMISSIONCLASS
APP_APPROLECLASSAPP_APPROLECLASS
APP_ENTITYAPP_ENTITY
APP_ENTITYUSERINTERFACEAPP_ENTITYUSERINTERFACE
APP_FUNC_PERMISSIONAPP_FUNC_PERMISSION
APP_GROUPAPP_GROUP
APP_GROUPADMINAPP_GROUPADMIN
APP_GROUPUSERAPP_GROUPUSER
APP_INTERFACEFIELDAPP_INTERFACEFIELD
APP_PERMISSIONAPP_PERMISSION
APP_ROLEAPP_ROLE
APP_ROLEADMINAPP_ROLEADMIN
APP_ROLEFUNCPERMISSIONAPP_ROLEFUNCPERMISSION
APP_ROLEPERMISSIONAPP_ROLEPERMISSION
APP_RULEAPP_RULE
APP_UIRIGHTFIELDAPP_UIRIGHTFIELD
APP_USERAPP_USER
APP_USERINTERFACEAPP_USERINTERFACE
APP_USERROLEAPP_USERROLE
FP_PAGEFP_PAGE
FP_PAGEELEMENTSFP_PAGEELEMENTS
FP_PAGESTYLEFP_PAGESTYLE
FP_PARAMETERFP_PARAMETER
FP_PARAMETERINSTANCEFP_PARAMETERINSTANCE
FP_PORTALGLABALFP_PORTALGLABAL
FP_PORTLETFP_PORTLET
24/120
智慧XX詳細設(shè)計
FP_PORTLETCLASSFP_PORTLETCLASS
FP_P0RTLETL0GINF0FP_PORTLETLOGINFO
FP_PORTLETTYPEFP_PORTLETTYPE
FP_RIGHTINF0FP_RIGHTINFO
FP_TABFP_TAB
FP_TABELEMENTSFP_TABELEMENTS
GR0UP_P0ST_USER_RELATI0NGROUP_POST_USER_RELATION
P0ST_INF0POST_INFO
SYS_APPLICATIONSYS_APPLICATION
SYS_ATTRIBUTESETSYS_ATTRIBUTESET
SYS_CLASSIFICATIONSYS_CLASSIFICATION
SYS_DUTYLEVELSYS_DUTYLEVEL
SYS_ENTITYATTRIBUTESYS_ENTITYATTRIBUTE
SYS_GROUPATTRIBUTESYS_GROUPATTRIBUTE
SYS_PERMISSIONATTRIBUTESYS_PERMISSIONATTRIBUTE
SYS_PREBUILDENTITYATTRIBUTESYS_PREBUILDENTITYATTRIBUTE
SYS_ROLEATTRIBUTESYS_ROLEATTRIBUTE
SYS_SSOSESSIONSYS_SSOSESSION
SYS_USERATTRIBUTESYS_USERATTRIBUTE
UIM_ACCESSINFOUIM_ACCESSINFO
UIM_CERTIFYUIM_CERTIFY
UIM_SERIALNOUIM_SERIALNO
UIM_SYS_ATTRIBUTEUIM_SYS_ATTRIBUTE
UIM_SYS_DEPLOYUIM_SYS_DEPLOY
UIM_SYS_LOGUIM_SYS_LOG
25/120
智慧XX詳細設(shè)計
IDAPPFLNCPERMISSION
NNIJMIil-R<pk>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 養(yǎng)老院入住老人突發(fā)疾病應(yīng)急處理制度
- 企業(yè)質(zhì)量管理體系制度
- 2025年臨汾市體育運動學(xué)校招聘考試真題
- 變壓器線圈制造工安全應(yīng)急評優(yōu)考核試卷含答案
- 鋁電解操作工復(fù)試模擬考核試卷含答案
- 我國上市公司社會責(zé)任報告質(zhì)量評價:體系構(gòu)建與實證分析
- 我國上市公司技術(shù)創(chuàng)新的雙輪驅(qū)動:股票流動性與股權(quán)集中度的協(xié)同效應(yīng)
- 我國上市公司定向增發(fā)股價效應(yīng)及其影響因素:基于多維度視角的剖析
- 我國上市公司內(nèi)部治理與公司競爭力關(guān)系的實證剖析:基于多維度視角
- 橋梁工崗前技術(shù)應(yīng)用考核試卷含答案
- 宗族團年活動方案
- 2025至2030中國碳納米管行業(yè)市場發(fā)展分析及風(fēng)險與對策報告
- 車企核心用戶(KOC)分層運營指南
- 兒童課件小學(xué)生講繪本成語故事《69狐假虎威》課件
- 湖北中煙2025年招聘綜合測試
- 不銹鋼管道酸洗鈍化方案
- 2025年高考時事政治高頻考點(107條)
- O2O商業(yè)模式研究-全面剖析
- 企業(yè)成本管理分析
- ISO14001-2015環(huán)境管理體系風(fēng)險和機遇識別評價分析及應(yīng)對措施表(包含氣候變化)
- 2024-2025學(xué)年山西省太原市高一上冊期末數(shù)學(xué)檢測試題(附解析)
評論
0/150
提交評論