亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于J2EE自動站數(shù)據(jù)查詢系統(tǒng)設計與實現(xiàn)

        2016-04-11 02:44:34樊潔馨
        陜西氣象 2016年2期

        樊潔馨

        (寧強縣氣象局,陜西寧強 724400)

        ?

        基于J2EE自動站數(shù)據(jù)查詢系統(tǒng)設計與實現(xiàn)

        樊潔馨

        (寧強縣氣象局,陜西寧強724400)

        摘要:基于J2EE開發(fā)技術和現(xiàn)有數(shù)據(jù)庫環(huán)境,采用MVC(Model-View-Controller)設計模式,開發(fā)自動站數(shù)據(jù)查詢系統(tǒng),實現(xiàn)了以網(wǎng)頁方式為用戶提供漢中市各縣區(qū)溫度、降水量數(shù)據(jù)查詢及圖形顯示等功能。

        關鍵詞:自動站數(shù)據(jù); J2EE;自動站數(shù)據(jù)查詢

        自動站數(shù)據(jù)查詢業(yè)務系統(tǒng)在基層氣象工作中占有重要地位,不僅能及時有效地為工作人員提供自動站觀測業(yè)務信息,還可以為開展氣象服務提供高效的數(shù)據(jù)保障。根據(jù)J2EE技術特點,設計開發(fā)了適合市縣使用的自動站數(shù)據(jù)查詢系統(tǒng),該系統(tǒng)操作便捷,數(shù)據(jù)顯示直觀,且易于維護和功能擴展。本文介紹系統(tǒng)的研發(fā)思路及所用到的開發(fā)技術,供相關技術人員參考。

        1開發(fā)語言及工具

        J2EE(Java 2 Platform,Enterprise Edition)是一個為大企業(yè)主機級的計算類型而設計的Java平臺,它簡化了應用程序的開發(fā),具有可伸縮性、靈活性、易維護等優(yōu)點;Eclipse 是一個開放源代碼的基于Java的可擴展開發(fā)平臺,它為編程開發(fā)提供了一個框架和一組服務,用于通過插件組件構建開發(fā)環(huán)境;MyEclipse是一個用于開發(fā)J2EE的插件集合,其功能強大,支持廣泛。

        2軟件運行環(huán)境

        服務器端軟件環(huán)境為JDK8、Tomcat6.0;數(shù)據(jù)庫為SQLServer2008;客戶端軟件環(huán)境為IE8.0以上;支持環(huán)境為windowsXP/Windows 7/Windows 8。

        3系統(tǒng)主要功能

        實現(xiàn)任意時段內(nèi)自動站小時平均氣溫、最高(最低)氣溫及出現(xiàn)時間、降水量等要素記錄查詢;統(tǒng)計該時段內(nèi)平均溫度、最高(低)氣溫、總降水量;顯示并輸出該時段內(nèi)溫度變化曲線圖和降水量柱狀圖。

        4具體實現(xiàn)

        4.1主頁功能

        在index.jsp頁面,主要進行查詢時段、臺站范圍、查詢要素選擇,運用JSP、JavaScript將所選信息提交至ZDZServlet.java頁面處理。

        (1) index.jsp頁面嵌套技術

        運用JSP頁面嵌套方式,將查詢信息選擇頁面left.jsp嵌套至主頁index.jsp頁面中。index.jsp頁面不進行業(yè)務邏輯處理,而將處理程序放置于left.jsp頁面,減少了index.jsp頁面的代碼量,并提高了代碼的利用率與可移植性。

        實現(xiàn)方式:

        (2) left.jsp數(shù)據(jù)提交及時間插件使用技術

        查詢信息選擇頁面left.jsp,運用HTML語言編寫,使用“form”表單中“post”方法提交數(shù)據(jù)至ZDZServlet.java,用于下一步數(shù)據(jù)處理。為方便、直觀地選擇所要查詢的時間范圍,“時間”選項使用“My97DatePicker”日歷插件來實現(xiàn)。將“My97DatePicker”文件導入至工程中,然后使用標簽將其引入,并根據(jù)該插件所提供的方法,按需求進行調(diào)用。

        實現(xiàn)方式:

        4.2數(shù)據(jù)庫查詢

        以查詢?nèi)恳貫槔?,運用ConnDB.java、ZDZDataBean.java、ZDZDataBO.java、right.jsp、 ZDZServlet.java來進行數(shù)據(jù)處理。ConnDB.java主要進行數(shù)據(jù)庫鏈接;ZDZDataBean.java主要進行對所需要查詢元素get、set方法的封裝;ZDZDataBO.java主要進行數(shù)據(jù)庫查詢;ZDZServlet.java主要進行數(shù)據(jù)的處理與傳遞;right.jsp主要進行查詢結果的顯示。

        (1) ConnDB.java連接數(shù)據(jù)庫技術。ConnDB.java用于數(shù)據(jù)庫的鏈接,在編寫該方法前,應在本工程中導入與SQL數(shù)據(jù)庫相關的sqljdbc4.jar包。

        (2)ZDZDataBean.java技術。ZDZDataBean. java封裝所要調(diào)取元素的get、set方法,使其他類可以調(diào)用(設置和獲取)該方法。

        (3) ZDZDataBO.java數(shù)據(jù)查詢技術。ZDZDataBO.java用于數(shù)據(jù)庫查詢,實現(xiàn)根據(jù)時間范圍與區(qū)站號進行數(shù)據(jù)記錄數(shù)(即數(shù)據(jù)顯示頁碼數(shù)量)的統(tǒng)計、平均溫度、最高(低)溫度、總降水量的統(tǒng)計和查詢結果的分頁顯示。

        實現(xiàn)方式:

        ①根據(jù)所給出的時間范圍與區(qū)站號查詢得到數(shù)據(jù)記錄總條數(shù),按照系統(tǒng)設置的每頁顯示記錄條數(shù)計算出顯示的頁數(shù)。

        select count(*) from tabtimedata where ObservTimes between ’"+timesta+"’and ’"+timeend+"’and StationNum=’"+stationnum+"’

        if(rs.next()){

        rowCount=rs.getInt(1);

        }if(rowCount%pageSize==0){

        pageCount=rowCount/pageSize;

        }else{

        pageCount=rowCount/pageSize+1;

        }

        其中,stationnum為區(qū)站號,timesta為開始時間值,timeend為結束時間值,pageSize為每頁顯示數(shù)據(jù)條數(shù),rowCount為紀錄總條數(shù),pageCount為頁數(shù),tabtimedata 為數(shù)據(jù)庫名,ObservTimes、StationNum分別為數(shù)據(jù)庫中觀測時間字段名以及區(qū)站號字段名。

        ②根據(jù)所給出的時間范圍與區(qū)站號查詢出當前頁碼下的全部數(shù)據(jù)。

        select top "+pageSize+" * from tabtimedata where ObservTimes between ’"+timesta+"’and ’"+timeend+"’and StationNum=’"+stationnum+"’ and ObservTimes not in (select top " +""+pageSize*(pageNow-1)+" ObservTimes from tabtimedata where ObservTimes between ’"+timesta+"’and ’"+timeend+"’and StationNum=’"+stationnum+"’Order By ObservTimes ) Order By ObservTimes

        其中,pageNow為當前頁碼值,且pageNow≥1。

        ③根據(jù)所給出的時間范圍與區(qū)站號分別查詢統(tǒng)計出該時間范圍內(nèi)的平均溫度、最高(低)溫度、總降水量。以平均溫度統(tǒng)計為例,查詢語句如下:

        select avg(convert(float,DryBulTemp)) from tabtimedata where ObservTimes between ’"+timesta+"’and ’"+timeend+"’and StationNum=’"+stationnum+"’

        其中DryBulTemp為數(shù)據(jù)庫中溫度字段名。

        (4)ZDZServlet.java中要素值查詢、處理技術。ZDZServlet.java用于網(wǎng)頁參數(shù)的接收、處理,并將處理過的數(shù)據(jù)返回到所要顯示的頁面。

        實現(xiàn)方法:

        public class ZDZServlet extends HttpServlet {

        public void doPost(HttpServletRequest request, HttpServletResponse response)

        throws ServletException, IOException {

        //1.接收網(wǎng)頁傳遞過來的數(shù)據(jù)

        String stationnum=request.getParameter("stationnum");

        String date1=request.getParameter("date1");

        String date2=request.getParameter("date2");

        //2.調(diào)用ZDZDataBO.java中方法查詢數(shù)據(jù)并處理

        ZDZDateBO zbo=new ZDZDateBO();

        double temp=zbo.getZDZAVGTEMP(stationnum, time1, time2);

        String avgtemp=String.valueOf(temp);

        //3.將處理后的數(shù)據(jù)再傳遞回網(wǎng)頁

        request.setAttribute("avgtemp", avgtemp);

        request.getRequestDispatcher("right.jsp").forward(request, response);}

        }

        (5)right.jsp中顯示統(tǒng)計值技術。right.jsp將ZDZServlet.java 所傳遞過來的值接收并進行格式化處理,然后通過表格的方式顯示出結果。

        實現(xiàn)方法:

        <%float avgtemp=Float.parseFloat((String)request.getAttribute("avgtemp"));

        float temp2=(float)(Math.round(avgtemp))/10;%>

        平均溫度:<%=temp2%>℃

        4.3要素分頁顯示

        以查詢?nèi)恳貫槔?,運用right.jsp、ZDZServlet.java、ZDZDataBO.java來實現(xiàn)。right.jsp頁面主要用于參數(shù)的傳遞與顯示,ZDZServlet.java主要用于參數(shù)的傳遞與處理,ZDZDataBO.java主要進行頁面總數(shù)的查詢計算以及數(shù)據(jù)的分頁查詢。

        (1) right.jsp中分頁技術。right.jsp頁面中運用超鏈接的方式進行參數(shù)的傳遞,若當前頁面不為第一頁時,可顯示上一頁,當前頁面不為最后一頁時,顯示下一頁,頁碼值通過調(diào)用ZDZDataBO.java中的方法計算出頁碼總數(shù),并通過for循環(huán)來輸出顯示。

        (2)ZDZServlet.java中分頁技術。ZDZServlet. java通過調(diào)用ZDZDataBO.java中的方法來進行分頁查詢,并將結果傳遞至right.jsp頁面進行顯示。

        4.4要素圖形顯示

        將查詢到的數(shù)據(jù),通過插件提供的方法轉換為圖形,并顯示輸出。圖形顯示應用了“ChartDirector”插件,需在編寫程序前導入ChartDirector.jar包與該插件提供的getchart.jsp文件,并配置web.xml文件。

        以溫度變化曲線圖為例,運用tempmap.jsp、ZDZServlet.java、ZDZDataBO.java來實現(xiàn)。tempmap.jsp主要進行數(shù)據(jù)處理和圖像顯示,ZDZServlet.java、 ZDZDataBO.java主要用于數(shù)據(jù)查詢和結果傳遞。

        tempmap.jsp圖形顯示技術的實現(xiàn)方法:

        <%//1.將查詢到的數(shù)據(jù)進行處理

        ArrayList al = (ArrayList) request.getAttribute("infos");

        double temp=0;

        double[] data0= new double[al.size()];

        String timex;

        String[] labels=new String[al.size()];

        for(int j=0;j

        ZDZDataBean zb=(ZDZDataBean)al.get鄭馳,唐萱,劉元珺. 觀測資料實時備份的實現(xiàn)[J].陜西氣象,2016(2):41-42.

        (j);

        temp=zb.getDRYBULTEMP();

        timex=zb.getOBSERVTIMES().substring(6,10);

        //2.將處理后的數(shù)據(jù)寫入到插件提供的數(shù)組中

        data0[j] = Math.round(temp)/10.0;

        labels[j]= timex;

        }%>

        //3.顯示圖形

        usemap="#map1" border="0">

        <%=imageMap1%>

        5結語

        該系統(tǒng)經(jīng)在業(yè)務中試用,運行正常、穩(wěn)定,能基本滿足基層臺站業(yè)務人員對溫度、降水等常規(guī)氣象資料的日常訪問要求,提高了自動站數(shù)據(jù)應用能力。隨著業(yè)務的進一步發(fā)展和服務需要的進一步提升,將對系統(tǒng)內(nèi)容和功能做更深入地完善。

        參考文獻:

        [1]武延軍,黃飛躍.精通JSP編程技術[M].北京:人民郵電出版社,2001.

        [2]陳海山.深入Java Servlet網(wǎng)絡編程[M].北京:清華大學出版社,2002.

        [3]Phil Hanna.JSP技術大全[M].北京:機械工業(yè)出版社, 2002.

        [4]Karl Moss.Java Servlet開發(fā)人員指南[M].北京:清華大學出版社,2002.

        中圖分類號:TP311.52

        文獻標識碼:B

        基金項目:陜西省氣象局科技成果應用與推廣項目(多普勒雷達PUPC運行監(jiān)控系統(tǒng)推廣(2014T-8))

        作者簡介:樊潔馨(1990—),女,漢族,陜西漢中人,助工,學士,主要從事縣級綜合業(yè)務。

        收稿日期:2015-10-13

        文章編號:1006-4354(2016)02-0038-04

        美丽的小蜜桃在线观看| 精品国产一区二区av麻豆不卡 | 美女免费视频观看网址| 亚洲色中文字幕无码av| 欧美国产成人精品一区二区三区| 国产传媒在线视频| 国产夫妻自偷自拍第一页| 高h小月被几个老头调教 | 女同av免费在线播放| 成人av在线久色播放| 麻豆国产在线精品国偷产拍| 国产91成人精品亚洲精品| 毛片av中文字幕一区二区| 国产日产一区二区三区四区五区| 色噜噜狠狠综曰曰曰| 国产精品福利影院| 国产91熟女高潮一曲区| 熟女中文字幕一区二区三区| 在线高清理伦片a| 亚洲最大在线精品| 在线视频播放观看免费| 久久午夜福利电影| 欧美gv在线观看| 国产精彩刺激对白视频| 日本免费精品一区二区| 国产精品vⅰdeoxxxx国产| 中文字幕欧美一区| 国产一区不卡视频在线| 久久精品网站免费观看| 8ⅹ8x擦拨擦拨成人免费视频| 日韩精品永久免费播放平台| 深夜福利国产精品中文字幕| 国产精品美女久久久久av福利| 亚洲一二三区在线观看| 国产精品毛片大尺度激情| 国产精品会所一区二区三区| 国产熟妇高潮呻吟喷水| 亚洲欧美另类日本久久影院| 免费看黄视频亚洲网站| 国偷自产一区二区免费视频| 亚洲欧洲日韩免费无码h|