![WLAN無(wú)線環(huán)境分析系統(tǒng)服務(wù)端_第1頁(yè)](http://file4.renrendoc.com/view/7339cef58ab9a7e535e30ca6f9754be4/7339cef58ab9a7e535e30ca6f9754be41.gif)
![WLAN無(wú)線環(huán)境分析系統(tǒng)服務(wù)端_第2頁(yè)](http://file4.renrendoc.com/view/7339cef58ab9a7e535e30ca6f9754be4/7339cef58ab9a7e535e30ca6f9754be42.gif)
![WLAN無(wú)線環(huán)境分析系統(tǒng)服務(wù)端_第3頁(yè)](http://file4.renrendoc.com/view/7339cef58ab9a7e535e30ca6f9754be4/7339cef58ab9a7e535e30ca6f9754be43.gif)
![WLAN無(wú)線環(huán)境分析系統(tǒng)服務(wù)端_第4頁(yè)](http://file4.renrendoc.com/view/7339cef58ab9a7e535e30ca6f9754be4/7339cef58ab9a7e535e30ca6f9754be44.gif)
![WLAN無(wú)線環(huán)境分析系統(tǒng)服務(wù)端_第5頁(yè)](http://file4.renrendoc.com/view/7339cef58ab9a7e535e30ca6f9754be4/7339cef58ab9a7e535e30ca6f9754be45.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
87/92目錄TOC\o"1-3"\h\u第1章開發(fā)背景及相關(guān)技術(shù) 11.1系統(tǒng)開發(fā)背景 11.2系統(tǒng)開發(fā)的目的和意義 11.3開發(fā)技術(shù)簡(jiǎn)介 21.3.1開發(fā)語(yǔ)言——Java簡(jiǎn)介 21.3.2Oracle簡(jiǎn)介 21.3.3TomCat簡(jiǎn)介 31.3.4開發(fā)方案簡(jiǎn)介 3第2章系統(tǒng)分析 52.1可行性分析 52.2系統(tǒng)的總體需求分析 52.2.1無(wú)線分析系統(tǒng)的使用范圍 52.2.2系統(tǒng)功能描述 52.2.3無(wú)線環(huán)境分析系統(tǒng)的用戶特征 62.3系統(tǒng)功能模塊需求 62.3.1首頁(yè) 62.3.2資源配置 62.3.3專項(xiàng)優(yōu)化 62.3.4拓?fù)涑尸F(xiàn) 72.3.5圖紙管理 72.3.6系統(tǒng)配置 7第3章數(shù)據(jù)庫(kù)設(shè)計(jì) 83.1數(shù)據(jù)庫(kù)的設(shè)計(jì) 8第4章系統(tǒng)設(shè)計(jì) 174.1數(shù)據(jù)庫(kù)設(shè)計(jì) 174.1.1系統(tǒng)業(yè)務(wù)流程圖 174.1.2E-R圖設(shè)計(jì) 174.2系統(tǒng)功能設(shè)計(jì) 194.3系統(tǒng)界面設(shè)計(jì) 25} 39第5章系統(tǒng)的測(cè)試與維護(hù) 405.1系統(tǒng)的測(cè)試 40第6章結(jié)論與展望 426.1系統(tǒng)總結(jié) 426.2前景展望 42參考文獻(xiàn) 43致謝 44附錄 45第1章開發(fā)背景及相關(guān)技術(shù)1.1系統(tǒng)開發(fā)背景自從喬布斯把蘋果手機(jī)iphone帶給世人,智能手機(jī)就以它不可阻擋的魅力迅速走進(jìn)大家的生活,聯(lián)通,移動(dòng),電信三大運(yùn)營(yíng)商順勢(shì)為智能手機(jī)提出各種無(wú)線網(wǎng)絡(luò)——例如wlan,td,gsm。但是一個(gè)地方無(wú)線網(wǎng)絡(luò)的信號(hào)質(zhì)量會(huì)很大程度的影響用戶的使用感知,所以很有必要通過一款軟件來(lái)智能的測(cè)試,監(jiān)控,管理,查看這個(gè)地方的無(wú)線網(wǎng)絡(luò)信號(hào)質(zhì)量。所以我們應(yīng)運(yùn)制作了這個(gè)基于wlan的無(wú)線網(wǎng)絡(luò)分析系統(tǒng)。該系統(tǒng)分為web上面的服務(wù)端和智能安卓手機(jī)上的客戶端兩個(gè)部分。而我做的是前者web上的服務(wù)端,主要功能是將安卓手機(jī)上面測(cè)試的無(wú)線網(wǎng)絡(luò)數(shù)據(jù)通過約定端口保存在電腦的數(shù)據(jù)庫(kù)中并且在網(wǎng)頁(yè)上予以顯示。既然是網(wǎng)絡(luò)分析系統(tǒng),人們當(dāng)然希望它能實(shí)現(xiàn)網(wǎng)頁(yè)顯示的基本功能和一些管理功能,由于改系統(tǒng)主要是為運(yùn)營(yíng)商管理網(wǎng)絡(luò)信號(hào)而制作的,所以該系統(tǒng)的用戶一般為聯(lián)通移動(dòng)電信等運(yùn)營(yíng)商。1.2系統(tǒng)開發(fā)的目的和意義無(wú)線分析系統(tǒng)是通過電腦像安卓手機(jī)下達(dá)某個(gè)熱點(diǎn)的無(wú)線測(cè)試信息然后接收并且儲(chǔ)存測(cè)試結(jié)果。而web端主要分為首頁(yè),資源配置,專項(xiàng)優(yōu)化拓?fù)涑尸F(xiàn),圖紙管理,系統(tǒng)配置五個(gè)子功能。本項(xiàng)目開發(fā)的目的是應(yīng)中國(guó)移動(dòng)公司的要求制作一款可以為其測(cè)試任意一個(gè)熱點(diǎn)的無(wú)線的軟件。由于傳統(tǒng)移動(dòng)公司的基站主要是用于通訊信號(hào)的傳送,而現(xiàn)在要求它們要具備為智能手機(jī)提供無(wú)線上網(wǎng)的功能所以就必須要有一款軟件可以安全,可靠,有效,方便的來(lái)對(duì)一個(gè)熱點(diǎn)進(jìn)行測(cè)試,本系統(tǒng)就是為了符合以上要求而誕生的。有了這樣一個(gè)系統(tǒng)之后移動(dòng)公司的無(wú)線網(wǎng)絡(luò)管理人員就可以在電腦上方便快捷的向基層的測(cè)試人員下發(fā)熱點(diǎn)的測(cè)試命令,從而很快的獲得準(zhǔn)確的測(cè)試數(shù)據(jù),并且可以直觀的通過返回的數(shù)據(jù)判斷該熱點(diǎn)的網(wǎng)絡(luò)質(zhì)量。綜上所述,該系統(tǒng)對(duì)運(yùn)營(yíng)商快捷,準(zhǔn)確的測(cè)試了解自己管理的無(wú)線網(wǎng)絡(luò)質(zhì)量提供了一個(gè)高效的平臺(tái)。極大的方便了運(yùn)營(yíng)商的管理,從而達(dá)到節(jié)省開支,提高效率的目的。1.3開發(fā)技術(shù)簡(jiǎn)介1.3.1開發(fā)語(yǔ)言——Java簡(jiǎn)介Java是一種可以撰寫跨平臺(tái)應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,與傳統(tǒng)程序不同,Sun公司在推出Java之際就將其作為一種開放的技術(shù)。全球數(shù)以萬(wàn)計(jì)的Java開發(fā)公司被要求所設(shè)計(jì)的Java軟件必須相互兼容。Java語(yǔ)言的出現(xiàn)以及它與計(jì)算機(jī)系統(tǒng)平臺(tái)無(wú)關(guān)的獨(dú)特性從根本上改變了計(jì)算機(jī)應(yīng)用程序的使用方式,由于Java程序可以不依賴任何現(xiàn)有的某個(gè)
.操.作.系.統(tǒng).
而直接運(yùn)行在某種機(jī)器或CPU(中央處理器)上。[6]正是由于java的開放性和平臺(tái)無(wú)關(guān)性才使得我們選擇java來(lái)開發(fā)這個(gè)程序,再加上j2ee在網(wǎng)頁(yè)開發(fā)中的便捷所以才能讓這種語(yǔ)言更好的發(fā)揮開發(fā)的優(yōu)勢(shì)。[4]1.3.2Oracle簡(jiǎn)介ORACLE數(shù)據(jù)庫(kù)系統(tǒng)是美國(guó)ORACLE公司(甲骨文)提供的以分布式數(shù)據(jù)庫(kù)為核心的一組軟件產(chǎn)品,是目前最流行的客戶/服務(wù)器(CLIENT/SERVER)或B/S體系結(jié)構(gòu)的數(shù)據(jù)庫(kù)之一。比如SilverStream就是基于數(shù)據(jù)庫(kù)的一種中間件。ORACLE數(shù)據(jù)庫(kù)是目前世界上使用最為廣泛的數(shù)據(jù)庫(kù)管理系統(tǒng),作為一個(gè)通用的數(shù)據(jù)庫(kù)系統(tǒng),它具有完整的數(shù)據(jù)管理功能;作為一個(gè)關(guān)系數(shù)據(jù)庫(kù),它是一個(gè)完備關(guān)系的產(chǎn)品;作為分布式數(shù)據(jù)庫(kù)它實(shí)現(xiàn)了分布式處理功能。但它的所有知識(shí),只要在一種機(jī)型上學(xué)習(xí)了ORACLE知識(shí),便能在各種類型的機(jī)器上使用它。JDBC(JavaDataBaseConnection)是Java數(shù)據(jù)庫(kù)連接API。簡(jiǎn)單的說說,JDBC能完成3件事;與一個(gè)數(shù)據(jù)庫(kù)建立連接。向數(shù)據(jù)庫(kù)發(fā)送SQL語(yǔ)句。處理數(shù)據(jù)庫(kù)返回的結(jié)果。[2]數(shù)據(jù)庫(kù)語(yǔ)言我們使用的是SQL。SQL即StructuredQueryLanguage全稱是結(jié)構(gòu)化查詢語(yǔ)言,SQLServer2005是微軟公司開發(fā)的一個(gè)大型的關(guān)系數(shù)據(jù)庫(kù)系統(tǒng),它為用戶提供了一個(gè)安全、可靠、易管理和高端的客戶/服務(wù)器平臺(tái),而且SQL語(yǔ)言有統(tǒng)一的操作規(guī)范、操作方式集合化、簡(jiǎn)單智能化、功能強(qiáng)大、語(yǔ)句簡(jiǎn)潔和簡(jiǎn)單易學(xué)等特點(diǎn),便于使用者掌握和使用[5]。1.3.3TomCat簡(jiǎn)介Tomcat是Apache軟件基金會(huì)(ApacheSoftwareFoundation)的Jakarta項(xiàng)目中的一個(gè)核心項(xiàng)目,由Apache、Sun和其他一些公司及個(gè)人共同開發(fā)而成。由于它是一款免費(fèi)的輕量型的軟件所以在使用人數(shù)不是很多的時(shí)候它是使用首選。而且由于有了Sun的參與和支持,最新的Servlet和JSP規(guī)范總是能在Tomcat中得到體現(xiàn),Tomcat5支持最新的Servlet2.4和JSP2.0規(guī)范。因?yàn)門omcat技術(shù)先進(jìn)、性能穩(wěn)定,而且免費(fèi),因而深受Java愛好者的喜愛并得到了部分軟件開發(fā)商的認(rèn)可。[7]1.3.4開發(fā)方案簡(jiǎn)介本系統(tǒng)的開發(fā)工具是MyEclipse,MyEclipse是一個(gè)十分優(yōu)秀的用于開發(fā)Java,J2EE的Eclipse插件集合,MyEclipse的功能非常強(qiáng)大,支持也十分廣泛,尤其是對(duì)各種開源產(chǎn)品的支持十分不錯(cuò)。MyEclipse目前支持JavaServlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC數(shù)據(jù)庫(kù)鏈接工具等多項(xiàng)功能??梢哉fMyEclipse幾乎囊括了目前所有主流開源產(chǎn)品的專屬eclipse開發(fā)工具。尤其是在做j2ee開發(fā)時(shí)對(duì)于MyEclipse中的查件的使用會(huì)是的開發(fā)的速率有很大的提升,所以JSP的全稱是JavaServerPages,它是SUN推出的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn)。它在傳統(tǒng)的靜態(tài)頁(yè)面文件(*.html,*.htm)中加入Java程序片段和JSP標(biāo)記,就構(gòu)成了JSP頁(yè)面[9]。由于JSP頁(yè)面的內(nèi)置腳本語(yǔ)言是基于Java編程語(yǔ)言的,而且所有的JSP頁(yè)面都被編譯成為JavaServlet,JSP頁(yè)面就具有Java技術(shù)的所有好處,包括健壯的存儲(chǔ)管理和安全性。[10]
作為Java平臺(tái)的一部分,JSP擁有Java編程語(yǔ)言“一次編寫,各處運(yùn)行”的特點(diǎn)。隨著越來(lái)越多的供應(yīng)商將JSP支持添加到他們的產(chǎn)品中,您可以使用自己所選擇的服務(wù)器和工具,更改工具或服務(wù)器并不影響當(dāng)前的應(yīng)用[8]系統(tǒng)采用基于J2EE技術(shù)的三層BS
Web應(yīng)用架構(gòu),使用MVC架構(gòu)來(lái)進(jìn)行開發(fā),表現(xiàn)層采用基于Ajax技術(shù)的Jquery組件庫(kù)實(shí)現(xiàn),系統(tǒng)的數(shù)據(jù)訪問操作通過數(shù)據(jù)集成層的DAO抽象接口訪問數(shù)據(jù)庫(kù)等數(shù)據(jù)資源,[1]本系統(tǒng)是為移動(dòng)公司開發(fā)屬于企業(yè)級(jí)應(yīng)用程序與簡(jiǎn)單的桌面應(yīng)用程序相比較,企業(yè)級(jí)應(yīng)用程序一般具有以下特點(diǎn)。
(1)分布式。企業(yè)應(yīng)用程序通常不是運(yùn)行在單獨(dú)的個(gè)人計(jì)算機(jī)上,擁有大群的用戶,并且對(duì)這些用戶通過網(wǎng)絡(luò)進(jìn)行服務(wù)。
(2)安全性。實(shí)現(xiàn)應(yīng)用系統(tǒng)的正常操作和運(yùn)轉(zhuǎn),對(duì)于企業(yè)的成功來(lái)說至關(guān)重要。但僅僅做到這一點(diǎn)還不夠,還必須保證系統(tǒng)運(yùn)行的安全可靠性。
(3)可擴(kuò)展性。企業(yè)需要時(shí)刻跟隨著市場(chǎng)的變化而變化所以企業(yè)軟件也要時(shí)刻變化,所以系統(tǒng)的可擴(kuò)展性是非常重要的。
(4)集成化。信息是企業(yè)資產(chǎn)的重要部分,但目前企業(yè)多數(shù)信息作為數(shù)據(jù)存放在老的或已經(jīng)過時(shí)的應(yīng)用系統(tǒng)中。[3]第2章系統(tǒng)分析2.1可行性分析可行性分析是通過對(duì)項(xiàng)目的內(nèi)容和條件進(jìn)行分析,從技術(shù)、經(jīng)濟(jì)、工程等方面進(jìn)行調(diào)查研究和比較,并對(duì)項(xiàng)目建成以后可能取得的財(cái)務(wù)、經(jīng)濟(jì)效益及社會(huì)環(huán)境影響進(jìn)行預(yù)測(cè),從而提出該項(xiàng)目是否值得投資和如何進(jìn)行建設(shè)的咨詢意見,為項(xiàng)目決策提供依據(jù)的一種綜合性的系統(tǒng)分析方法。本系統(tǒng)從以下幾個(gè)方面內(nèi)容進(jìn)行可行性研究。1.技術(shù)可行性:本系統(tǒng)采用了比較實(shí)用的Java語(yǔ)言、JSP開發(fā)框架和Oracle數(shù)據(jù)庫(kù)作為進(jìn)行開發(fā)。2.經(jīng)濟(jì)可行性:本系統(tǒng)主要是針對(duì)網(wǎng)絡(luò)運(yùn)營(yíng)商設(shè)計(jì)的,開發(fā)經(jīng)費(fèi)對(duì)于中國(guó)移動(dòng)公司來(lái)說在經(jīng)濟(jì)上是可以接受的。3.操作可行性:主要是管理人員和用戶是否支持,操作的難度是否滿足用戶要求。綜合上述,本系統(tǒng)的開發(fā)目的已明確,在經(jīng)濟(jì)和技術(shù)操作等方面都可行,并且開發(fā)成本低,成效明顯,因此開發(fā)本系統(tǒng)是完全可行的[11]。2.2系統(tǒng)的總體需求分析2.2.1無(wú)線分析系統(tǒng)的使用范圍無(wú)線分析系統(tǒng)主要針對(duì)中國(guó)移動(dòng)公司測(cè)試熱點(diǎn)無(wú)線網(wǎng)絡(luò)而開發(fā)的,所以其主要適用于各個(gè)地方的所有熱點(diǎn)以及中國(guó)移動(dòng)的機(jī)站信號(hào)管理。所以本系統(tǒng)使用于存在中國(guó)移動(dòng)無(wú)線網(wǎng)絡(luò)信號(hào)覆蓋的范圍。2.2.2系統(tǒng)功能描述Wlan優(yōu)化分析系統(tǒng)實(shí)現(xiàn)的是方便移動(dòng)運(yùn)營(yíng)商對(duì)無(wú)線網(wǎng)絡(luò)的管理,通過以上對(duì)無(wú)線分析系統(tǒng)的任務(wù)和目標(biāo)的分析可以看出,一個(gè)標(biāo)準(zhǔn)的應(yīng)用系統(tǒng)主要功能模塊分為以下兩個(gè):一個(gè)web服務(wù)端,一個(gè)安卓手持終端,web服務(wù)端主要是能夠?qū)崿F(xiàn)下達(dá)測(cè)試任務(wù)和存儲(chǔ)并查看測(cè)試結(jié)果的功能,后臺(tái)管理的功能比較豐富,管理員負(fù)責(zé)將測(cè)試信息添加到數(shù)據(jù)庫(kù),對(duì)用戶信息有相應(yīng)操作的權(quán)限,管理員最重要的是進(jìn)行測(cè)試數(shù)據(jù)管理,還有對(duì)系統(tǒng)用戶的管理。本系統(tǒng)還包括一個(gè)圖紙管理的功能,主要進(jìn)行熱點(diǎn)的樓層的圖紙進(jìn)行上傳和查看。1.Web服務(wù)端的主要功能是:每個(gè)用戶都有自己的用戶名和密碼,這就是各自的登錄信息,在服務(wù)器開啟的情況下,用戶可以從網(wǎng)址http://localhost:8080/login.jsp登陸界面進(jìn)入系統(tǒng),用戶名為“admin”密碼為“1”進(jìn)入系統(tǒng)后就可以進(jìn)入相應(yīng)的操作界面,如果是擁有相應(yīng)的權(quán)限,系統(tǒng)會(huì)允許進(jìn)行相應(yīng)的操作。用戶可以進(jìn)行資源配置,專項(xiàng)優(yōu)化,拓?fù)涑尸F(xiàn)圖紙管理操作,方便簡(jiǎn)單,管理員還可以進(jìn)行系統(tǒng)配置操作。首頁(yè)功能豐富詳細(xì),簡(jiǎn)單大方,看起來(lái)舒適方便,用戶可以很清楚看到多個(gè)快捷入口以及該系統(tǒng)的大部分應(yīng)用功能,用戶使用過程中還可以自由跳轉(zhuǎn),查看自己想要的信息,以及可以對(duì)有些信息進(jìn)行修改,大大增加了使用的靈活性。2.管理員管理的主要功能是系統(tǒng)配置:系統(tǒng)配置的主要功能是部門管理,用戶管理,權(quán)限管理,參數(shù)管理,日志管理,重設(shè)密碼功能。主要是對(duì)系統(tǒng)使用者的信息以及權(quán)限進(jìn)行管理。對(duì)于擁有管理員權(quán)限的用戶可以登錄服務(wù)器端,對(duì)系統(tǒng)進(jìn)行整體的管理和信息更新。2.2.3無(wú)線環(huán)境分析系統(tǒng)的用戶特征Wlan優(yōu)化分析系統(tǒng)的使用者是網(wǎng)絡(luò)運(yùn)營(yíng)商管理員和網(wǎng)絡(luò)運(yùn)營(yíng)商用戶,一個(gè)是服務(wù)端,一個(gè)是客戶端,進(jìn)行了嚴(yán)格的劃分,網(wǎng)絡(luò)運(yùn)營(yíng)商的用戶會(huì)擁有查看信息權(quán)限的普通用戶,管理員是整個(gè)系統(tǒng)的管理人員。2.3系統(tǒng)功能模塊需求2.3.1首頁(yè)用戶登錄的是服務(wù)端,所以用戶界面要求符合用戶的使用習(xí)慣,讓用戶感到自然、合理、舒適、簡(jiǎn)單,由于本系統(tǒng)是優(yōu)化分析系統(tǒng),所以在正確輸入用戶名和密碼之后,就可以進(jìn)入登陸的首頁(yè)了。首頁(yè)中提供了弱覆蓋分析,AP無(wú)線查詢,經(jīng)緯度核查,拓?fù)涑尸F(xiàn),綜合干擾分析,信號(hào)分布分析,輔助設(shè)計(jì)工具七項(xiàng)快捷入口,可以讓用戶快捷直觀的享受本系統(tǒng)帶來(lái)的服務(wù)。還有弱覆蓋分析,經(jīng)緯度核查,信號(hào)分布分析2.3.2資源配置資源配置分為經(jīng)緯度核查和AP任務(wù)查詢。經(jīng)緯度核查擁有查詢熱點(diǎn)和地址的功能可以在百度地圖提供的API上面實(shí)現(xiàn)定點(diǎn)查詢,頁(yè)面分為全部,已核查,未核查三個(gè)部分。并且可以導(dǎo)出數(shù)據(jù)。AP任務(wù)查詢可以查詢測(cè)試的AP任務(wù),可以新增和查看刪除AP任務(wù)。2.3.3專項(xiàng)優(yōu)化專項(xiàng)優(yōu)化分為AP無(wú)線查詢,弱覆蓋分析信號(hào)分布分析,綜合干擾分析四項(xiàng)。AP無(wú)線查詢具有查詢熱點(diǎn)AP和IP地址。如果一個(gè)AP上傳了圖紙的話還可以點(diǎn)擊拓?fù)涠ㄎ徊榭此膱D紙。弱覆蓋分析可以查詢已有的城市和一定時(shí)間粒度內(nèi)的信號(hào)弱覆蓋情況,也可以導(dǎo)出數(shù)據(jù)。信號(hào)分布分析可以查詢已有城市的一定時(shí)間粒度內(nèi)的信號(hào)分布情況,也可以導(dǎo)出數(shù)據(jù)。綜合干擾分析可以查詢已有城市的一定時(shí)間粒度內(nèi)的信號(hào)綜合干擾情況。也可以導(dǎo)出查詢的數(shù)據(jù)。2.3.4拓?fù)涑尸F(xiàn)拓?fù)涑尸F(xiàn)可以使用百度地圖的API,在百度地圖API上面呈現(xiàn)想要查詢的熱點(diǎn)。也可以輸入一個(gè)自己想要查詢的熱點(diǎn)進(jìn)行呈現(xiàn)。2.3.5圖紙管理圖紙管理分為圖紙管理和圖紙導(dǎo)入兩個(gè)部分。圖紙導(dǎo)入可以為一個(gè)熱點(diǎn)導(dǎo)入圖紙,而圖紙管理可以查詢修改刪除圖紙,并且可以查詢一個(gè)二級(jí)熱點(diǎn)的圖紙。2.3.6系統(tǒng)配置系統(tǒng)配置分為,部門管理,用戶管理,權(quán)限分配,參數(shù)管理,日志管理重設(shè)密碼六個(gè)部分。部門管理可以為管理者添加所屬部門,并且?guī)в行薷膭h除用戶部門的功能。用戶管理可以對(duì)本系統(tǒng)的用戶進(jìn)行管理,具有添加刪除修改用戶信息的功能。權(quán)限分配可以為需要的用戶分配應(yīng)有的權(quán)限,本系統(tǒng)默認(rèn)有一個(gè)用戶名為admin的用戶擁有所有權(quán)限。參數(shù)管理可以為端口配置相應(yīng)的參數(shù)。日志管理可以記錄下來(lái)用戶登錄本系統(tǒng)所做的操作,并且有查詢邪惡刪除功能。重設(shè)密碼可以為用戶修改密碼所用。第3章數(shù)據(jù)庫(kù)設(shè)計(jì)3.1數(shù)據(jù)庫(kù)的設(shè)計(jì)通過對(duì)系統(tǒng)功能的分析可知,本系統(tǒng)主要包括如下的數(shù)據(jù)庫(kù)信息:(1)用戶表:該表保存了系統(tǒng)用戶的基本信息,屬性有用戶編號(hào)、用戶名稱、用戶類型、用戶性別。其中用戶編號(hào)為主碼,它是用戶信息的唯一標(biāo)識(shí)。表結(jié)構(gòu)如表1所示。系統(tǒng)數(shù)據(jù)庫(kù)表結(jié)構(gòu)如下:表1用戶表(UserInfo)序號(hào)名稱數(shù)據(jù)表(字段)說明數(shù)據(jù)類型表單類型1用戶名SYS_USER(USER_NAME)用戶用來(lái)登錄系統(tǒng)的唯一標(biāo)識(shí)StringText2密碼SYS_USER(USER_PASSWORD)每個(gè)用戶名對(duì)應(yīng)的唯一密碼StringText3權(quán)限SYS_USER_RIGHT(RIGHT_ID)用戶所具有的權(quán)限String——表2經(jīng)緯度核查表(Check)序號(hào)名稱數(shù)據(jù)表(字段)說明數(shù)據(jù)類型表單類型1熱點(diǎn)名稱AC_LAT_LONG(ACNAME)熱點(diǎn)的名稱StringText2熱點(diǎn)地址AC_LAT_LONG(ACLOVATION)熱點(diǎn)的地址StringText3系統(tǒng)中經(jīng)緯度AC_LAT_LONG(ORIGINALLOCATION)AP在系統(tǒng)中保存的經(jīng)緯度(原始導(dǎo)入的經(jīng)緯度大?。㏒tringText4解析后經(jīng)緯度AC_LAT_LONG(CHECKEDLOCATION)針對(duì)熱點(diǎn)地址或熱點(diǎn)名稱,通過GoogleGeoCodingAPI解析后的經(jīng)緯度大小StringText5準(zhǔn)確度AC_LAT_LONG(DISTANCE)表示兩個(gè)經(jīng)緯度地點(diǎn)之間的實(shí)際距離大小,單位米doubleText表3弱覆蓋分析表(Weakcoverage)序號(hào)名稱數(shù)據(jù)表(字段)說明數(shù)據(jù)類型表單類型1城市AC_CLASS_ASSOCIATE(STRCITY)熱點(diǎn)所在城市名稱StringSelect2區(qū)縣AC_CLASS_ASSOCIATE(COUNTRY)熱點(diǎn)所在城市的區(qū)縣名稱StringSelect3熱點(diǎn)名稱AC_CLASS_ASSOCIATE(CLASSONEAC,CLASSTWOAC)(一級(jí)或二級(jí))熱點(diǎn)名稱StringText4AP數(shù)量RM_DEVICE(DEVICE_ID)統(tǒng)計(jì)一級(jí)或二級(jí)熱點(diǎn)區(qū)域中的AP總數(shù)量NumberText5是否弱覆蓋NHM_AP_RSSI_KPI_x(RSSI)熱點(diǎn)是否處于弱覆蓋狀態(tài)(只要有一個(gè)AP是弱覆蓋,對(duì)應(yīng)值為“是”)StringText6弱覆蓋AP數(shù)量NHM_AP_RSSI_KPI_x(RSSI)判斷熱點(diǎn)下處于弱覆蓋狀態(tài)的AP總數(shù)量NumberText7用戶數(shù)無(wú)連接該熱點(diǎn)的用戶總數(shù)NumberText8信噪比NHM_AP_RSSI_KPI_x(RSN)熱點(diǎn)下的所有AP的信噪比累加NumberText9場(chǎng)強(qiáng)NHM_AP_RSSI_KPI_x(RSSI)熱點(diǎn)下的所有AP的場(chǎng)強(qiáng)累加NumberText10信道質(zhì)量NHM_CHANNEL_CHANGE(QUALITY)熱點(diǎn)下所有AP的信道質(zhì)量的累加NumberText11時(shí)間粒度無(wú)可以指定查詢分析的數(shù)據(jù)表的時(shí)間粒度StringSelect12起止時(shí)間NHM_AP_RSSI_KPI_x(TIMESTAMP)AP無(wú)線性能屬性不同時(shí)間粒度表中的AP性能統(tǒng)計(jì)時(shí)間StringSelect補(bǔ)充說明:①NHM_AP_RSSI_KPI_x中的“x”表示所統(tǒng)計(jì)的時(shí)間粒度表,x=DAY|HOUR;②“無(wú)”表示通過其他方式得到數(shù)據(jù)的具體值③有些數(shù)據(jù)是通過對(duì)應(yīng)字段進(jìn)行一定處理后得到,如“弱覆蓋AP數(shù)量、是否弱覆蓋”等,具體算法見下面“相關(guān)算法”表4綜合干擾分析表(Analysis)序號(hào)名稱數(shù)據(jù)表(字段)說明數(shù)據(jù)類型表單類型1城市AC_CLASS_ASSOCIATE(STRCITY)熱點(diǎn)所在城市名稱StringSelect2區(qū)縣AC_CLASS_ASSOCIATE(COUNTRY)熱點(diǎn)所在城市的區(qū)縣名稱StringSelect3熱點(diǎn)名稱AC_CLASS_ASSOCIATE(CLASSONEAC,CLASSTWOAC)(一級(jí)或二級(jí))熱點(diǎn)名稱StringText4AP數(shù)量RM_DEVICE(DEVICE_ID)統(tǒng)計(jì)一級(jí)或二級(jí)熱點(diǎn)區(qū)域中的AP總數(shù)量NumberText5熱點(diǎn)類型AC_CLASS_ASSOCIATE(AC_TYPE)二級(jí)熱點(diǎn)的具體類型StringText6被干擾AP數(shù)量NHM_CHANNEL_CHANGE(QUALITY)熱點(diǎn)中被干擾的AP的總數(shù)NumberText7信道質(zhì)量NHM_CHANNEL_CHANGE(QUALITY)熱點(diǎn)下所有AP的信道質(zhì)量的累加NumberText8時(shí)間粒度無(wú)可以指定查詢分析的數(shù)據(jù)表的時(shí)間粒度StringSelect9起止時(shí)間NHM_AP_RSSI_KPI_x(TIMESTAMP)AP無(wú)線性能屬性不同時(shí)間粒度表中的AP性能統(tǒng)計(jì)時(shí)間StringSelect補(bǔ)充說明:①NHM_AP_RSSI_KPI_x中的“x”表示所要統(tǒng)計(jì)的時(shí)間粒度表,x=DAY|HOUR;②“無(wú)”表示通過其他方式得到數(shù)據(jù)的具體值;③有些數(shù)據(jù)是通過對(duì)應(yīng)字段進(jìn)行一定處理后得到,如“弱覆蓋AP數(shù)量、是否弱覆蓋”等,具體算法見下面“相關(guān)算法”表5信號(hào)分布分析表(Signal)序號(hào)名稱數(shù)據(jù)表(字段)說明數(shù)據(jù)類型表單類型1城市AC_CLASS_ASSOCIATE(STRCITY)熱點(diǎn)所在城市名稱StringSelect2區(qū)縣數(shù)量AC_CLASS_ASSOCIATE(COUNTRY)熱點(diǎn)所在城市的區(qū)縣的數(shù)量NumberText3熱點(diǎn)數(shù)據(jù)量AC_CLASS_ASSOCIATE(CLASSONEAC,CLASSTWOAC)該城市(區(qū)縣)的(一級(jí)或二級(jí))熱點(diǎn)數(shù)量總和NumberText4AP數(shù)量RM_DEVICE(DEVICE_ID)(一級(jí)或二級(jí))熱點(diǎn)區(qū)域中關(guān)聯(lián)的AP數(shù)量NumberText5平均信號(hào)強(qiáng)度NHM_AP_RSSI_KPI_x(RSN)對(duì)熱點(diǎn)下AP的場(chǎng)強(qiáng)數(shù)據(jù)求平均值NumberText6用戶數(shù)無(wú)連接該熱點(diǎn)的用戶總數(shù)NumberText7平均信噪比NHM_AP_RSSI_KPI_x(RSSI)對(duì)熱點(diǎn)下AP的信噪比數(shù)據(jù)求平均值NumberText8場(chǎng)強(qiáng)NHM_AP_RSSI_KPI_x(RSN)對(duì)熱點(diǎn)下AP的場(chǎng)強(qiáng)求平均值NumberText9信道質(zhì)量NHM_CHANNEL_CHANGE(QUALITY)熱點(diǎn)下所有AP的信道質(zhì)量的累加NumberText10區(qū)縣AC_CLASS_ASSOCIATE(STRCOUNTRY)熱點(diǎn)所在區(qū)縣的名稱StringText11時(shí)間粒度無(wú)可以指定查詢分析的數(shù)據(jù)表的時(shí)間粒度StringText12起止時(shí)間NHM_AP_RSSI_KPI_x(TIMESTAMP)AP無(wú)線性能屬性不同時(shí)間粒度表中的AP性能統(tǒng)計(jì)時(shí)間StringText補(bǔ)充說明:①NHM_AP_RSSI_KPI_x中的“x”表示所要統(tǒng)計(jì)的時(shí)間粒度表,x=DAY|HOUR;②“無(wú)”表示通過其他方式得到數(shù)據(jù)的具體值;③有些數(shù)據(jù)是通過對(duì)應(yīng)字段進(jìn)行一定處理后得到,如“弱覆蓋AP數(shù)量、是否弱覆蓋”等,具體算法見下面“相關(guān)算法”表6AP無(wú)線查詢表(APWirelessquery) 序號(hào)名稱數(shù)據(jù)表(字段)說明數(shù)據(jù)類型表單類型1城市RM_DEVICE(CITY)AP所在城市名稱StringSelect2區(qū)縣RM_DEVICE(COUNTRY)AP所在區(qū)縣的名稱StringSelect3熱點(diǎn)RM_DEVICE(AC_NAME)所屬二級(jí)熱點(diǎn)名稱StringSelect4AP名稱RM_DEVICE(DEVICE_NAME)熱點(diǎn)對(duì)應(yīng)的AP名稱StringSelect5平均上行信號(hào)強(qiáng)度————NumberText6平均上行信噪比————NumberText7信道質(zhì)量NHM_CHANNEL_CHANGE(QUALITY)AP的信道質(zhì)量NumberText8信噪比NHM_AP_RSSI_KPI_HOUR(RSN)AP的信噪比(小時(shí)粒度)NumberText9場(chǎng)強(qiáng)NHM_AP_RSSI_KPI_HOUR(RSSI)AP的場(chǎng)強(qiáng)大小(小時(shí)粒度)NumberText10IP地址AC_DEVICE(IP_ADDR)AP設(shè)備的IP地址StringText表7拓?fù)涑尸F(xiàn)(Present)序號(hào)名稱數(shù)據(jù)表(字段)說明數(shù)據(jù)類型表單類型1熱點(diǎn)AC_CLASS_ASSOCIATE(CLASSONEAC,CLASSTWOAC)(一級(jí)或二級(jí))熱點(diǎn)名稱StringText2信號(hào)終端RM_AP_SSID_NEIGHBOUR(MAC_ADDRESS)————3頻點(diǎn)NHM_CHANNEL_CHANGE(CHANNEL)AP設(shè)備設(shè)置的頻點(diǎn)(信道號(hào))NumberText4SSIDAC_DEVICE(SSID)AP的服務(wù)SSID名稱StringText5場(chǎng)強(qiáng)NHM_AP_RSSI_KPI_HOUR(RSSI)AP的場(chǎng)強(qiáng)大小(小時(shí)粒度)NumberText6信噪比NHM_AP_RSSI_KPI_HOUR(RSN)AP的信噪比(小時(shí)粒度)NumberText7發(fā)射功率————8信道質(zhì)量NHM_CHANNEL_CHANGE(QUALITY)AP的信道質(zhì)量NumberText表8圖紙導(dǎo)入表(APWirelessquery)表名ac_cad_info列名數(shù)據(jù)類型空約束條件及含義strIdVARCHAR2(50)N自動(dòng)生成的主鍵字段acNameVARCHAR2(50)N熱點(diǎn)名稱cadNameVARCHAR2(50)Y圖紙名稱cadPicVARCHAR2(50)YCAD圖紙保存文件名strCreatorVARCHAR2(50)Y創(chuàng)建記錄的人員用戶名dtCreatTimeDATEY創(chuàng)建記錄的時(shí)間補(bǔ)充說明表8AP經(jīng)緯度核查表(APVerification)表名ac_lat_long列名數(shù)據(jù)類型空約束條件及含義strIdVARCHAR2(50)N自動(dòng)生成的主鍵字段acNameVARCHAR2(50)N熱點(diǎn)名稱acLocationVARCHAR2(100)Y熱點(diǎn)地址originalLocationVARCHAR2(50)Y熱點(diǎn)的系統(tǒng)中經(jīng)緯度大小,經(jīng)度緯度之間用英文半角“,”隔開checkedLocationVARCHAR2(50)Y熱點(diǎn)被解析后的經(jīng)緯度大小,經(jīng)緯度之間用英文半角“,”隔開distanceNUMBERY系統(tǒng)中經(jīng)緯度和解析后經(jīng)緯度之間的實(shí)際距離大?。▎挝幻祝﹕trCreatorVARCHAR2(50)Y創(chuàng)建記錄的人員用戶名dtCreatTimeDATEY創(chuàng)建記錄的時(shí)間補(bǔ)充說明如果解析后經(jīng)緯度為空,則distance為0;如果系統(tǒng)中經(jīng)緯度為空,則distance為10000000000.第4章系統(tǒng)設(shè)計(jì)4.1數(shù)據(jù)庫(kù)設(shè)計(jì)4.1.1系統(tǒng)業(yè)務(wù)流程圖圖1系統(tǒng)業(yè)務(wù)流程圖4.1.2E-R圖設(shè)計(jì)在初步E-R圖中,可能存在一些冗余的數(shù)據(jù)的實(shí)體間冗余的聯(lián)系。所謂的冗余的數(shù)據(jù)是指可由基本數(shù)據(jù)導(dǎo)出的數(shù)據(jù),冗余的聯(lián)系是指可由其他聯(lián)系導(dǎo)出的聯(lián)系。[5]在設(shè)計(jì)系統(tǒng)時(shí)需要對(duì)整個(gè)系統(tǒng)的E-R圖進(jìn)行設(shè)計(jì):圖2測(cè)試任務(wù)E-R圖圖3系統(tǒng)用戶E-R圖4.2系統(tǒng)功能設(shè)計(jì)1.系統(tǒng)功能圖系統(tǒng)的應(yīng)用結(jié)構(gòu)采用客戶端-服務(wù)端模式。客戶端通過瀏覽器訪問值服務(wù)端進(jìn)行相關(guān)操作:系統(tǒng)所有應(yīng)用基于互聯(lián)網(wǎng);系統(tǒng)管理員通過有線(無(wú)線)網(wǎng)絡(luò)與服務(wù)器相連,完成“WLAN優(yōu)化分析系統(tǒng)平臺(tái)”的各項(xiàng)管理操作。整個(gè)系統(tǒng)的功能方框圖如圖4所示:圖8系統(tǒng)層次框架圖圖4系統(tǒng)設(shè)計(jì)表2.接口設(shè)計(jì)①.用戶接口身份驗(yàn)證:在用戶使用本系統(tǒng)之初,首先需要登錄,即進(jìn)行身份認(rèn)證。此時(shí),用戶需要輸入自己的用戶名和密碼。若不成功,系統(tǒng)會(huì)提示重新輸入,若成功,則進(jìn)入各功能界面。用戶信息管理:對(duì)用戶的信息進(jìn)行管理。例如:用戶編號(hào)、用戶名稱、密碼、用戶類型、性別等信息進(jìn)行的管理。②.外部接口硬件接口:支持?jǐn)?shù)據(jù)庫(kù)操作。軟件接口:運(yùn)行于Windows2000/XP或更高的版本的操作系統(tǒng)之上,服務(wù)器需要安裝數(shù)據(jù)庫(kù)。③.內(nèi)部接口ResultServlet.java該接口用于獲得是否成功讀取測(cè)試結(jié)果。privatevoidexecute(HttpServletRequestreq,HttpServletResponseresp)throwsIOException,SQLException { Globagloba=newGloba(); ResultXMLresult=newResultXML(globa,true); req.setCharacterEncoding("utf-8"); resp.setCharacterEncoding("utf-8"); Stringcontent=req.getParameter("testResult"); if(content!=""&&content!=null){ InputStreamis=newByteArrayInputStream(content.getBytes("UTF-8"));//注意content的值是否為空,做判斷。 booleani=result.readresult(is); if(i==true){ resp.getWriter().write(returnResult("OK").toString()); }else{ resp.getWriter().write(returnResult("NO").toString()); } }else{ resp.getWriter().write(returnResult("NO").toString()); } globa.closeCon(); } privateStringBufferreturnResult(Stringresult) { StringBuffersbReturnContent=newStringBuffer("<?xmlversion='1.0'encoding='utf-8'?>"); sbReturnContent.append("<info>"); sbReturnContent.append("<result>"+result+"</result>"); sbReturnContent.append("</info>"); returnsbReturnContent; }FetchTaskServlet.Java該接口用于向手機(jī)客戶端返回?cái)?shù)據(jù)庫(kù)中的測(cè)試任務(wù)信息。privatevoidexecute(HttpServletRequestreq,HttpServletResponseresp)throwsIOException { Globagloba=newGloba(); StringBuffersbReturn=newStringBuffer("<?xmlversion='1.0'encoding='utf-8'?>"); req.setCharacterEncoding("utf-8"); resp.setCharacterEncoding("utf-8"); try { Tasktask=newTask(globa,false); Vector<Task>vctAd=newVector<Task>(); vctAd=task.listLastState("",0,0); sbReturn.append("<info>"); if(vctAd!=null&&vctAd.size()>0) {// sbReturn.append("<task>"); for(inti=0;i<vctAd.size();i++) { System.out.println("12222"+vctAd.size()); task=vctAd.get(i); if(task!=null) { sbReturn.append(returnTask(task)); } }// sbReturn.append("</task>"); } sbReturn.append("</info>"); }catch(Exceptione) { //TODOAuto-generatedcatchblock e.printStackTrace(); }finally { //關(guān)閉數(shù)據(jù)庫(kù)連接對(duì)象 globa.closeCon(); System.out.println(sbReturn.toString()); resp.getWriter().println(sbReturn.toString()); } } privateStringBufferreturnTask(Tasktask) { StringBuffersbReturnContent=newStringBuffer(); if(task!=null) { sbReturnContent.append("<task>"); sbReturnContent.append("<strId>"+task.getStrId()+"</strId>"); sbReturnContent.append("<strName>"+task.getStrName()+"</strName>"); sbReturnContent.append("<strMac>"+task.getStrMac()+"</strMac>"); sbReturnContent.append("<strTestContent>"+task.getStrTestContent()+"</strTestContent>"); sbReturnContent.append("<strDesc>"+task.getStrDesc()+"</strDesc>"); sbReturnContent.append("<dtCreateTime>"+task.getDtCreatTime()+"</dtCreateTime>"); sbReturnContent.append("<strCreator>"+task.getStrCreator()+"</strCreator>"); sbReturnContent.append("</task>"); } returnsbReturnContent; }APInfoServet.java該接口用于從手機(jī)客戶端獲得測(cè)試熱點(diǎn)的經(jīng)緯度和MAC地址。privatevoidexecute(HttpServletRequestreq,HttpServletResponseresp)throwsIOException { Globagloba=newGloba(); Stringcontent1=req.getParameter("ApInfo"); System.out.println("=======content1========"+content1); if(!content1.equals("")){ InputStreamis=newByteArrayInputStream(content1.getBytes());//注意content的值是否為空,做判斷。 if(readXML(is)){ resp.getWriter().write(returnResult("OK").toString()); }else{ resp.getWriter().write(returnResult("NO").toString()); } }else{ resp.getWriter().write(returnResult("NO").toString()); } globa.closeCon(); } privateStringBufferreturnResult(Stringresult) { StringBuffersbReturnContent=newStringBuffer("<?xmlversion='1.0'encoding='utf-8'?>"); sbReturnContent.append("<info>"); sbReturnContent.append("<result>"+result+"</result>"); System.out.println("++++result=="+result); sbReturnContent.append("</info>"); returnsbReturnContent; } publicbooleanreadXML(InputStreamis){ Globagloba=newGloba(); DocumentBuilderFactoryfactory=DocumentBuilderFactory.newInstance(); DocumentBuilderbuilder=null; try{ builder=factory.newDocumentBuilder(); Documentdocument=builder.parse(is); ElementrootElement=document.getDocumentElement(); NodeListlist1=rootElement.getElementsByTagName("strMac"); NodeListlist2=rootElement.getElementsByTagName("strLatitude"); NodeListlist3=rootElement.getElementsByTagName("strLongtitude"); Elementelement1=(Element)list1.item(0); Elementelement2=(Element)list2.item(0); Elementelement3=(Element)list3.item(0); Apap=newAp(globa,false); ap.setApMac(element1.getChildNodes().item(0).getNodeValue()); Stringlatlng=element3.getChildNodes().item(0).getNodeValue()+","+element2.getChildNodes().item(0).getNodeValue(); System.err.println("mac:"+element1.getChildNodes().item(0).getNodeValue()); System.err.println("latlng:"+latlng); ap.setApLatlng(latlng); booleanisTrue=ap.update(); if(!isTrue){ System.out.println("result"+isTrue); globa.closeCon(); returnfalse;//數(shù)據(jù)修改出錯(cuò),返回失敗 }else{ globa.closeCon(); System.out.println("result"+isTrue+"==========="); returntrue; } }catch(Exceptione){ System.out.println("exception:"+e.getMessage()); globa.closeCon(); returnfalse; } } publicObjectevaluate(Stringexpression,QNametype){ XPathxpath=XPathFactory.newInstance().newXPath(); Objectnode=null; try{ node=xpath.evaluate(expression,document2,type); }catch(XPathExpressionExceptione){ System.err.println(e); } returnnode; }4.3系統(tǒng)界面設(shè)計(jì)在設(shè)計(jì)系統(tǒng)的界面時(shí),主要考慮到的是系統(tǒng)信息與用戶的交流是否簡(jiǎn)單易懂,對(duì)于用戶的操作要考慮到少操作。而且還要做到對(duì)用戶錯(cuò)誤操作有一定容忍度,風(fēng)格必須保持一致信息必須明確。由于改系統(tǒng)是本人與同事合作完成而且該系統(tǒng)的拓?fù)涑尸F(xiàn),圖紙管理以及醫(yī)院配置中的經(jīng)緯度核查本人參與較少,所以在本論文中不對(duì)這幾項(xiàng)做過多的介紹,希望老師們能予以諒解。1.系統(tǒng)登錄模塊系統(tǒng)用戶登錄界面有兩個(gè)輸入項(xiàng):用戶名和密碼,選擇用戶類型,在登錄界面中輸入用戶信息(用戶名,密碼),經(jīng)過驗(yàn)證正確后進(jìn)入系統(tǒng)。圖5系統(tǒng)登錄面vartx=document.getElementById("tx"),pwd=document.getElementById("password");//登錄時(shí)的賬戶密碼判斷tx.onfocus=function(){if(this.value!="密碼")return;this.style.display="none";pwd.style.display="";pwd.value="";pwd.focus();}pwd.onblur=function(){if(this.value!="")return;this.style.display="none";tx.style.display="";tx.value="密碼";}用戶登錄后看到是系統(tǒng)首頁(yè),上面分別有首頁(yè),資源配置,專項(xiàng)優(yōu)化,拓?fù)涑尸F(xiàn),圖紙管理,系統(tǒng)配置幾個(gè)模塊。頁(yè)面右上角的退出是個(gè)退出系統(tǒng)的鏈接,頁(yè)面左邊是一個(gè)樹形選擇模塊的功能菜單,其樹形結(jié)構(gòu)的內(nèi)容會(huì)隨著上面模塊的改變而改變。頁(yè)面右邊是用戶操作區(qū)域,用戶可以在這里完成相應(yīng)的操作。圖6系統(tǒng)登錄頁(yè)面經(jīng)緯度核查這里您可以輸入熱點(diǎn)或者地址進(jìn)行查詢,從而獲得想要目標(biāo)的經(jīng)緯度信息。頁(yè)面下方提供了頁(yè)面導(dǎo)出按鈕和頁(yè)面記錄數(shù)更改的下拉框以及翻頁(yè)和跳頁(yè)功能。頁(yè)面如下所示:圖7經(jīng)緯度核查頁(yè)面AP任務(wù)查詢?cè)谶@里您可以對(duì)AP信息進(jìn)行查詢,查看,增加以及刪除的操作。這里是下達(dá)任務(wù)給安卓手機(jī)客戶端任務(wù)的部分,這里可以通過約定的端口發(fā)送任務(wù)給手機(jī)然后接受從手機(jī)上返回的測(cè)試結(jié)果并錄入數(shù)據(jù)庫(kù)。圖8AP任務(wù)查詢頁(yè)面<tablewidth="97%"border="0"align="center"cellpadding="0"cellspacing="0"><tr><tdclass="listtit">AP名稱</td><tdclass="listtit">AP的MAC地址</td><tdclass="listtit">任務(wù)測(cè)試內(nèi)容</td><tdclass="listtit">任務(wù)測(cè)試狀態(tài)</td><tdclass="listtit"width="15%">任務(wù)描述</td><tdclass="listtit">創(chuàng)建人</td><tdclass="listtit">創(chuàng)建時(shí)間</td><tdclass="listtit"width="20%">基本操作</td></tr><%for(inti=0;i<vctObj.size();i++){Stringid="";Stringname="";Stringmac="";Stringtestcontent="";Stringdesc="";Stringcreator="";Stringdtcreattime="";Taskobj1=vctObj.get(i);intintState=obj1.getIntState();StringintStateString=intState==0?"未測(cè)試":"已測(cè)試";id=Format.forbidNull(obj1.getStrId());name=Format.forbidNull(obj1.getStrName());mac=Format.forbidNull(obj1.getStrMac());testcontent=Format.forbidNull(obj1.getStrTestContent());desc=Format.forbidNull(obj1.getStrDesc());creator=Format.forbidNull(obj1.getStrCreator());System.out.println("====創(chuàng)建人"+creator);dtcreattime=Format.forbidNull(obj1.getDtCreatTime());%><tr><tdclass="listd1"style="border-left:1pxsolid#dddddd;"><%=name%></a> </td><tdclass="listd1"><%=mac%> </td><tdclass="listd1"><%=testcontent%> </td><tdclass="listd1"><%=intStateString%> </td><tdclass="listd1"><%=desc%> </td><tdclass="listd1"><%=creator%> </td><tdclass="listd1"><%=dtcreattime%> </td><tdclass="listdrd"style="border-right:1pxsolid#dddddd;"><imgsrc="../images/mid.jpg"width="12"height="12"align="absmiddle"/><ahref="task_look.jsp?strId=<%=obj1.getStrId()%>">查看</a><imgsrc="../images/del.jpg"width="11"height="11"align="absmiddle"/><ahref="#"onclick="if(confirm('確認(rèn)刪除該記錄?')){location.href='task_act.jsp?<%=Constants.ACTION_TYPE%>=<%=Constants.DELETE_STR%>&strId=<%=obj1.getStrId()%>';}">刪除</a></td></tr><%}%></table>//循環(huán)取出數(shù)據(jù)庫(kù)中的Task數(shù)據(jù)并且顯示在頁(yè)面上。該頁(yè)面的添加新任務(wù)的功能代碼:publicbooleanadd(){StringstrSql="";strId=UID.getID();try{ //把用戶信息寫入數(shù)據(jù)庫(kù)strSql="INSERTINTO"+strTableName+"(strId,strName,strMac,strTestContent,strDesc,dtCreatTime,strCreator)VALUES(?,?,?,?,?,to_date(?,'yyyy-MM-ddhh24:mi:ss'),?)";db.prepareStatement(strSql);db.setString(1,strId);db.setString(2,strName);db.setString(3,findMac(strName));//strPWDdb.setString(4,strTestContent);db.setString(5,strDesc);db.setString(6,Format.getDateTime());db.setString(7,globa.loginName);if(db.executeUpdate()>0){Globa.logger0("增加測(cè)試任務(wù)信息",globa.loginName,globa.loginIp,strSql,"任務(wù)管理",globa.userSession.getStrDepart());System.out.println(findMac(strName)+""+strName);returntrue;}elsereturnfalse;}catch(Exceptione){System.out.println("增加用戶信息時(shí)出錯(cuò)??!");e.printStackTrace();returnfalse;}}//記錄集轉(zhuǎn)化為對(duì)象publicTaskload(ResultSetrs,booleanisView){ TasksmLoad=newTask(); try{ smLoad.setStrId(rs.getString("strId")); smLoad.setStrName(rs.getString("strName")); smLoad.setStrMac(rs.getString("strMac")); smLoad.setStrTestContent(rs.getString("strTestContent")); smLoad.setStrDesc(rs.getString("strDesc")); smLoad.setDtCreatTime(rs.getString("dtCreatTime")); smLoad.setIntState(rs.getInt("intState")); smLoad.setStrCreator(rs.getString("strCreator")); }catch(Exceptione){ e.printStackTrace(); } returnsmLoad; }//通過ap名稱查詢出該ap的mac地址publicStringfindMac(StringstrName){ StringstrSql=""; StringstrMac=""; Stringwhere="wheredevice_name="+"'"+strName+"'"; try{ strSql="selectmac_addrfrom"+strTableName2+"".concat(where); ResultSetrs=db.executeQuery(strSql); if(rs!=null&&rs.next()){ strMac=rs.getString("mac_addr");returnstrMac; }elsereturnnull; }catch(Exceptione){ returnnull; }}AP無(wú)線查詢用戶點(diǎn)擊標(biāo)題欄內(nèi)的專項(xiàng)優(yōu)化按鈕之后再點(diǎn)擊左側(cè)功能菜單下的AP無(wú)線查詢,會(huì)進(jìn)入AP無(wú)線查詢頁(yè)面,頁(yè)面如下圖所示:圖9AP無(wú)線查詢界面弱覆蓋分析點(diǎn)擊標(biāo)題欄內(nèi)的專項(xiàng)優(yōu)化按鈕,然后點(diǎn)擊頁(yè)面左側(cè)功能菜單欄下的弱覆蓋分析,頁(yè)面會(huì)顯示如下所示的弱覆蓋分析頁(yè)面:圖10弱覆蓋分析點(diǎn)擊標(biāo)題欄內(nèi)的專項(xiàng)優(yōu)化按鈕,然后點(diǎn)擊頁(yè)面左側(cè)功能菜單欄內(nèi)的信號(hào)分布分析,頁(yè)面會(huì)顯示如下所示的信號(hào)分布分析頁(yè)面:圖11信號(hào)分布分析點(diǎn)擊標(biāo)題欄內(nèi)的專項(xiàng)優(yōu)化按鈕,然后點(diǎn)擊頁(yè)面左側(cè)功能菜單欄內(nèi)的綜合干擾分析,頁(yè)面會(huì)顯示如下所示的綜合干擾分析頁(yè)面圖12綜合干擾分析拓?fù)涑尸F(xiàn)在這里您有拓?fù)涑尸F(xiàn)和查詢兩個(gè)功能可以選擇。如下圖所示:圖13拓?fù)涑尸F(xiàn)圖紙導(dǎo)入點(diǎn)擊功能菜單里的圖紙導(dǎo)入,進(jìn)入圖紙導(dǎo)入頁(yè)面,在這里用戶可以選擇相應(yīng)的圖紙信息并導(dǎo)入圖紙,頁(yè)面如下所示:圖14圖紙導(dǎo)入圖紙管理在這里您可以對(duì)已上傳的圖片進(jìn)行刪除,修改,增加圖紙,查詢操作。圖15圖紙管理部門管理如下圖所示,在操作界面會(huì)有一個(gè)操作樹,您可以在整個(gè)部門中選擇想要操作的部門,也可以新增加或刪除一個(gè)部門。圖16部門管理點(diǎn)擊添加按鈕進(jìn)入如下圖添加頁(yè)面,用戶可以在頁(yè)面中對(duì)應(yīng)位置錄入部門信息,錄入完畢后點(diǎn)擊“確定”按鈕即可保存錄入的部門信息,系統(tǒng)會(huì)在保存前對(duì)用戶錄入的數(shù)據(jù)做合法性校驗(yàn),一是對(duì)校驗(yàn)錄入的數(shù)據(jù)類型是否符合要求,二是對(duì)不同數(shù)據(jù)項(xiàng)之間的邏輯關(guān)系進(jìn)行校驗(yàn)。頁(yè)面如下圖所示:圖17添加部門publicbooleandelete(Stringwhere){try{Unitut0=show(where);//刪除部門db.executeUpdate("update"+strTableName+"setintSort=intSort-1wherestrParentId='"+ut0.getStrParentId()+"'andintSort>"+ut0.getIntSort()+"");Stringsql="DELETEFROM"+strTableName+"".concat(where);db.executeUpdate(sql);Globa.logger0("刪除部門成功!",globa.loginName,globa.loginIp,sql,"部門管理",globa.userSession.getStrDepart());this.setResultDes("操作");returntrue;}catch(Exceptionee){ee.printStackTrace();this.setResultDes("操作");returnfalse;}}用戶管理在這里您可以對(duì)用戶進(jìn)行姓名查詢,修改用戶,刪除用戶以及增加用戶的操作。圖18用戶管理//判斷用戶信息是否沖突publicvoidbCheckAccount(StringtStrAccount)throwsUserUnitIdException,SQLException{StringstrSql="selectstrUserIdfrom"+strTableName+"wherestrUserId='"+tStrAccount+"'";try{ResultSetrs=db.executeQuery(strSql);if(rs.next()){globa.closeCon();thrownewUserUnitIdException("已經(jīng)存在'"+tStrAccount+"'用戶","請(qǐng)輸入其他用戶名");}}catch(Exceptione){e.printStackTrace();}}權(quán)限分配在這里您可以對(duì)已存在的部門和用戶分配權(quán)限。選擇頁(yè)面時(shí)一個(gè)部門樹,在每個(gè)部門下面會(huì)有相應(yīng)的用戶可供選擇。圖19權(quán)限分配publicHashMapgetAllRights(inttType,StringtUnitId)throwsSQLException{HashMapallRights=newHashMap();//拿到所有系統(tǒng)權(quán)限//querydbtry{Stringsql="SELECTstrRoleIdFROM"+strTableName+"WHEREintType="+tType+"ANDstrUserId='"+tUnitId+"'";
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2012建筑租賃合同范本
- 人防租賃轉(zhuǎn)讓合同范本
- 分項(xiàng)勞務(wù)合同范本
- 加盟銷售合同范例
- 人情補(bǔ)償寫合同范本
- 出租車司機(jī)加盟合同范本
- 2025年中國(guó)恒轉(zhuǎn)矩變頻器行業(yè)市場(chǎng)深度研究及投資戰(zhàn)略規(guī)劃報(bào)告
- 上海建筑施工合同范本
- 2025年中國(guó)工業(yè)防水插座行業(yè)市場(chǎng)發(fā)展前景及發(fā)展趨勢(shì)與投資戰(zhàn)略研究報(bào)告
- 公司聯(lián)營(yíng)股合同范本
- 中國(guó)氫內(nèi)燃機(jī)行業(yè)發(fā)展環(huán)境、市場(chǎng)運(yùn)行格局及前景研究報(bào)告-智研咨詢(2024版)
- 開學(xué)季初三沖刺中考開學(xué)第一課為夢(mèng)想加油課件
- 《自然保護(hù)區(qū)劃分》課件
- 中日合同范本
- T-CARM 002-2023 康復(fù)醫(yī)院建設(shè)標(biāo)準(zhǔn)
- 《康復(fù)按摩知識(shí)》課件
- 封條模板A4直接打印版
- 立式加工中心說明書
- 唐太宗李世民
- 作文紙格子信紙
- 第八版神經(jīng)病學(xué)配套課件-12-中樞神經(jīng)系統(tǒng)感染性疾病
評(píng)論
0/150
提交評(píng)論