當(dāng)前位置:首頁(yè) > 物聯(lián)網(wǎng) > 《物聯(lián)網(wǎng)技術(shù)》雜志
[導(dǎo)讀]摘 要:JeeSite是集多個(gè)優(yōu)秀開(kāi)源項(xiàng)目,經(jīng)高度整合封裝而成的高效、高性能、強(qiáng)安全性的開(kāi)源Java EE快速開(kāi)發(fā)平臺(tái)。JeeSite以Spring Framework為核心容器,Spring MVC為模型視圖控制器,MyBatis為數(shù)據(jù)訪問(wèn)層,Apache Shiro為權(quán)限授權(quán)層,Ehcahe對(duì)常用數(shù)據(jù)進(jìn)行緩存,Activit為工作流引擎。針對(duì)關(guān)鍵技術(shù)結(jié)合核心代碼給予講解,最后實(shí)現(xiàn)了該系統(tǒng)的設(shè)計(jì)工作,能夠查看、添加、修改企業(yè),個(gè)人,工程項(xiàng)目等信息內(nèi)容,并監(jiān)督受理狀態(tài)等。

引 言

隨著中國(guó)的快速發(fā)展,建筑業(yè)已是中國(guó)國(guó)民經(jīng)濟(jì)的主要支柱產(chǎn)業(yè)之一,而工程質(zhì)量是建筑業(yè)發(fā)展的重要因素,直接關(guān)系到人民生命財(cái)產(chǎn)的安危。近年來(lái),每個(gè)省份都越來(lái)越關(guān)注和重視建設(shè)工程質(zhì)量的管理。本文所研究的采用基于MVC 模式的SSI 技術(shù)架構(gòu)開(kāi)發(fā)的建筑質(zhì)量監(jiān)督系統(tǒng)對(duì)提高相關(guān)工作人員的效率及工程質(zhì)量保障有重要意義。當(dāng)前系統(tǒng)已經(jīng)開(kāi)發(fā)完畢,處于試運(yùn)行階段,結(jié)果證明,該技術(shù)架構(gòu)具有很好的擴(kuò)展性、穩(wěn)定性,對(duì)工作人員工作效率的提升有很大幫助。

1 JeeSite設(shè)計(jì)思想

1.1 分層設(shè)計(jì)

分層設(shè)計(jì)(數(shù)據(jù)訪問(wèn)層,業(yè)務(wù)邏輯層,展示層)層次清楚,低耦合,各層必須通過(guò)接口才能接入并進(jìn)行參數(shù)校驗(yàn)(如在展示層不可直接操作數(shù)據(jù)庫(kù)),可保證數(shù)據(jù)操作的安全。

1.2 雙重驗(yàn)證

用戶表單提交雙驗(yàn)證[1] 包括服務(wù)器端驗(yàn)證及客戶端驗(yàn)證, 防止用戶通過(guò)瀏覽器惡意修改(如不可寫文本域、隱藏變量篡改、上傳非法文件等)而跳過(guò)客戶端驗(yàn)證操作數(shù)據(jù)庫(kù)。

1.3 安全編碼和密碼加密

用戶表單提交所有數(shù)據(jù),在服務(wù)器端進(jìn)行安全編碼,防止用戶提交非法腳本及SQL 注入獲取敏感數(shù)據(jù)等,確保數(shù)據(jù)安全。登錄用戶密碼進(jìn)行SHA1 散列加密,此加密方法不可逆, 以消除密文泄露后的安全隱患。

1.4 訪問(wèn)和數(shù)據(jù)驗(yàn)證

系統(tǒng)對(duì)所有管理端鏈接都進(jìn)行用戶身份權(quán)限驗(yàn)證 [2],以防止用戶直接通過(guò)URL 進(jìn)入未授權(quán)頁(yè)面。對(duì)指定數(shù)據(jù)集權(quán)限進(jìn)行過(guò)濾,七種數(shù)據(jù)權(quán)限可供選擇(所有權(quán)限,公司及子公司,本公司,部門及子部門,本部門,本人數(shù)據(jù),跨機(jī)構(gòu)數(shù)據(jù))。

2 建筑質(zhì)量監(jiān)督系統(tǒng)設(shè)計(jì)

2.1 建筑質(zhì)量監(jiān)督系統(tǒng)功能設(shè)計(jì)

通過(guò)系統(tǒng)開(kāi)發(fā)之前詳細(xì)的調(diào)研需求分析后,質(zhì)量監(jiān)督系統(tǒng)分為基礎(chǔ)信息(人員信息管理、企業(yè)信息管理、項(xiàng)目信息管理) 和質(zhì)量監(jiān)督(質(zhì)量問(wèn)題處理、驗(yàn)收管理、統(tǒng)計(jì)報(bào)表、質(zhì)量行為監(jiān)管、質(zhì)量問(wèn)題回復(fù)、監(jiān)督受理、質(zhì)量監(jiān)督報(bào)告等)。其系統(tǒng)功能圖如圖 1 所示。

基于SSI架構(gòu)的建筑質(zhì)量監(jiān)督系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

2.2 建筑質(zhì)量系統(tǒng)架構(gòu)的實(shí)現(xiàn)

建筑質(zhì)量系統(tǒng)采用Java EE 三層結(jié)構(gòu),表現(xiàn)層是客戶端組件,主要功能在于顯示數(shù)據(jù);業(yè)務(wù)層的功能主要為業(yè)務(wù)和數(shù)據(jù)處理 ;數(shù)據(jù)層主要實(shí)現(xiàn)與數(shù)據(jù)庫(kù)的交互??蛻舳送ㄟ^(guò)組件與業(yè)務(wù)層建立連接,再由中間層與數(shù)據(jù)庫(kù)交互[3]。

實(shí)踐證明,采用Java EE 三層結(jié)構(gòu)能有效降低建設(shè)和維護(hù)成本,并適應(yīng)大規(guī)模和復(fù)雜的應(yīng)用需求以及不斷擴(kuò)展的業(yè)務(wù)需求。建筑質(zhì)量系統(tǒng)架構(gòu)如圖 2 所示。

3 關(guān)鍵技術(shù)和實(shí)現(xiàn)結(jié)果

3.1 Struts在表現(xiàn)層的實(shí)現(xiàn)

Struts是 基于模 型(Model)、 視 圖(View)、 控制 器(Controller)的MVC模式應(yīng)用框架,MVC減弱了業(yè)務(wù)邏輯和數(shù)據(jù)接口之間的耦合,幫助開(kāi)發(fā)者控制設(shè)計(jì)變更。在 Struts 框架中,Model代表應(yīng)用的業(yè)務(wù)邏輯 ;View是應(yīng)用的表示層, 由JSP頁(yè)面產(chǎn)生;Controller提供應(yīng)用的處理過(guò)程控制,一般是Action Servlet。通過(guò)這種模式將應(yīng)用邏輯、處理過(guò)程和顯示邏輯分成不同組件,組件之間進(jìn)行交互和重用,組件化模式在大規(guī)模系統(tǒng)開(kāi)發(fā)和管理方面更具優(yōu)勢(shì)。

基于SSI架構(gòu)的建筑質(zhì)量監(jiān)督系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

客戶端通過(guò)表單或者Ajax 發(fā)起請(qǐng)求,系統(tǒng)根據(jù)客戶的請(qǐng)求路徑,通過(guò)Struts 的配置對(duì)用戶請(qǐng)求進(jìn)行轉(zhuǎn)發(fā)控制,將客戶端提交的數(shù)據(jù)轉(zhuǎn)發(fā)到具體的Action 中處理[4]。其配置如下:

<filter>

<filter-name>encodingFilter</filter-name>

<filter- class>org.springframework.web.filter.Character EncodingFilter</filter-class>

<init-param>

<param-name>encoding</param-name>

<param-value>UTF-8</param-value>

</init-param>

</filter>

<filter-mapping>

<filter-name>encodingFilter</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

在 SSI 集成架構(gòu)中,Struts2 主要為表示層。本系統(tǒng)采用JSP 視圖。

3.2 Spring業(yè)務(wù)邏輯層的實(shí)現(xiàn)

Spring 是SSI框架中最重要的組成部分,文中描述的幾個(gè)關(guān)鍵技術(shù)點(diǎn)都基于Spring實(shí)現(xiàn)。Spring是為簡(jiǎn)化企業(yè)級(jí)應(yīng)用開(kāi)發(fā)而創(chuàng)建的,它為企業(yè)級(jí)應(yīng)用提供了一個(gè)輕量級(jí)解決方案, 其核心是依賴注入(DependencyInjection,DI)和面向切面編程(AspectOrientProgramming,AOP),通過(guò)配置文件來(lái)完成業(yè)務(wù)對(duì)象之間的依賴注入[5]。

Spring 通過(guò)依賴注入、Spring DAO 模式的使用、IoC 容器的使用、AOP 應(yīng)用、面向接口編程,能降低業(yè)務(wù)組件之間的耦合度,增強(qiáng)系統(tǒng)擴(kuò)展性。部分核心代碼如下:

<bean id="transactionManager"class="org.springframework.jdbc. datasource.DataSourceTransactionManager">

<property name="dataSource" ref="dataSource" />

</bean>

<tx :annotation-driven transaction-manager="transactionManag

er"proxy-target-class="true"/>

3.3 iBatis持久層的實(shí)現(xiàn)

iBatis 是一個(gè)基于Java 的持久化框架。iBatis 是對(duì)象 / 關(guān)系數(shù)據(jù)庫(kù)(Object/Relational Mapping,ORM) 的映射工具, ORM 將對(duì)象模型表示的對(duì)象映射到基于SQL 的關(guān)系模型數(shù)據(jù)結(jié)構(gòu)中。在持久層中封裝了對(duì)數(shù)據(jù)庫(kù)訪問(wèn)的細(xì)節(jié),向業(yè)務(wù)邏輯公開(kāi)接口,保證建立在數(shù)據(jù)持久層之上的應(yīng)用程序能夠方便訪問(wèn)需要的數(shù)據(jù)源。核心代碼如下:

<!-- 掃描basePackage下所有以@MyBatisDao注解的接口-->

<bean id="mapperScannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer">

<property name="sqlSessionFactoryBeanName"value="s qlSessionFactory"/>

<property name="basePackage"value="com.thinkgem. jeesite"/>

<property name="annotationClass"

value="com.thinkgem.jeesite.common.persistence. annotation.MyBatisDao"/>

</bean>

3.4 部分功能實(shí)現(xiàn)效果

建筑質(zhì)量監(jiān)督系統(tǒng)的主要目的是方便建設(shè)單位、施工單位、勘察單位、設(shè)計(jì)單位、監(jiān)理單位、質(zhì)量檢測(cè)六方單位的辦公, 提高工作效率。企業(yè)用自己的賬號(hào)登錄系統(tǒng),進(jìn)入企業(yè)中心頁(yè)面。要對(duì)工程進(jìn)行質(zhì)量監(jiān)督,首先企業(yè)需要登錄系統(tǒng)的 [ 企業(yè)中心]--[ 監(jiān)督注冊(cè)登記](méi),錄入該標(biāo)段工程的相關(guān)信息。系統(tǒng)界面如圖 3所示。

基于SSI架構(gòu)的建筑質(zhì)量監(jiān)督系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

圖 3 系統(tǒng)界面

結(jié) 語(yǔ)

本文基于多個(gè)優(yōu)秀的開(kāi)源項(xiàng)目,設(shè)計(jì)出經(jīng)高度整合封裝而成的具有高效、高性能、強(qiáng)安全性的開(kāi)源 Java EE 快速開(kāi)發(fā)平臺(tái)JeeSite,并介紹了建筑質(zhì)量系統(tǒng)的實(shí)現(xiàn)。結(jié)合實(shí)際用戶的體驗(yàn),均反映該系統(tǒng)可大大提高六方單位人員的工作效率。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉