日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

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

引 言

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

1 JeeSite設(shè)計思想

1.1 分層設(shè)計

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

1.2 雙重驗證

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

1.3 安全編碼和密碼加密

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

1.4 訪問和數(shù)據(jù)驗證

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

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

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

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

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

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

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

實踐證明,采用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ù)和實現(xiàn)結(jié)果

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

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

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

客戶端通過表單或者Ajax 發(fā)起請求,系統(tǒng)根據(jù)客戶的請求路徑,通過Struts 的配置對用戶請求進(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ù)邏輯層的實現(xiàn)

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

Spring 通過依賴注入、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持久層的實現(xiàn)

iBatis 是一個基于Java 的持久化框架。iBatis 是對象 / 關(guān)系數(shù)據(jù)庫(Object/Relational Mapping,ORM) 的映射工具, ORM 將對象模型表示的對象映射到基于SQL 的關(guān)系模型數(shù)據(jù)結(jié)構(gòu)中。在持久層中封裝了對數(shù)據(jù)庫訪問的細(xì)節(jié),向業(yè)務(wù)邏輯公開接口,保證建立在數(shù)據(jù)持久層之上的應(yīng)用程序能夠方便訪問需要的數(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 部分功能實現(xiàn)效果

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

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

圖 3 系統(tǒng)界面

結(jié) 語

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

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