999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于MVC模式SSH框架智能化養護專家系統文件上傳與下載研究與實現

2014-05-09 08:26:14金小初
交通科技 2014年3期
關鍵詞:智能化數據庫系統

金小初 楊 剛

(1.湖北省女子職業學校 武漢 430079; 2.武漢理工大學信息工程學院 武漢 430070)

高速公路智能化養護專家系統可實現數據自動轉換、能根據自動檢測結果和養護歷史資料分析路面變化規律,預測養護實施的時間,分別提出不同病害的養護對策、養護方法和施工工藝,同時根據自動檢測數據確定路面養護工程數量,輸入各種材料和設備定額后確定養護工程造價,制定路面養護計劃。系統功能見圖1。

智能化養護專家系統中的網絡業務對速度的要求比較高,因此對用戶與數據庫的交互也提出了較高要求,故不能像以前一樣把所有數據和文件都存入數據庫,這樣會大大降低系統的讀取速率。一個解決辦法就是把大數據做成文件上傳。網絡最大的好處之一就是實現了資源的共享,文件的下載也成為重要的需求。高速公路智能化養護專家系統功能圖見圖1。

圖1 高速公路智能化養護專家系統功能圖

1 Struts+Spring+Hibernat框架技術

目前網絡應用有很多開源的上傳下載功能代碼,基于SSH(Str uts+Spring+Hibernate)框架的上傳下載比這些代碼結構性更強,開發更快。

1.1 Struts+Spring+Hiber nat簡介

Str uts作為表現層和控制層主要框架,提供MVC控制、表現層Taglib布局管理,以及Validator輸入校驗。Taglib是Str uts的標記庫,有效提高了開發效率。同時,Str uts框架具有組件的模塊化,其controller作為控制層只需要通過一個配置文件,就可以明晰整個系統各部分之間的聯系,簡化了系統的開發和維護[1]。

Spring中的Io C容器作為系統控制層的一部分提供面向接口編程的JavaBean的管理,通過消除各種自定義格式的屬性文件來簡化對JavaBean的管理,從而實現業務邏輯的方便更換,而無需使用EJB。并且,Spring能解決系統中常見的對Singleton的過多使用而導致降低系統的可測試性和面向對象的程度問題。數據訪問層主要采用DAO(data access object)模式,將底層數據訪問操作與高層的業務邏輯分離開來。通過DAO,向業務邏輯組件隱藏了數據庫訪問的實現細節。

Hiber nate作為數據訪問層的底層持久框架,提供O/R Mapping,實現面向對象的域模型映射到傳統的關系數據庫。它不僅負責實現映射,提供數據查詢和檢索能力,而且還可以自動生成SQL,從而能使應用程序移植到所有的SQL數據庫。通過4個層次的劃分,使每個層次的邏輯集中,便于專注開發。而相鄰層次之間松散耦合,便于組件的重用和系統功能擴展[2]。

1.2 Struts+Spring+Hiber nat結合的優點

Str uts+Spring+Hiber nate的整合架構設計采用分層的思想,并為各層次的支持提供一個整合框架的策略,以隔離各層次間的依賴性,便于系統擴充。

Str uts已經成為業界標準,其HT ML標簽非常優秀的、惟一的公共控制器便于管理,但相對于處理界面的強大功能而言,Str uts處理業務邏輯方面要遜色得多,這些不足之處可由Spring得到解決。

Spring能有效地組織中間層對象,易于同其他View框架無縫集成,允許根據需要在某一層選擇使用它的某一個模塊,對不同的數據訪問技術提供了統一的接口,并且采用Io C可以很容易地實現bean的裝配,提供了簡潔的AOP并據此實現事務管理,便于測試,但其Jsp中要寫很多代碼、控制器過于靈活,缺少一個公用控制器,這又可以由Str uts來彌補。

用Hiber nate實現數據的持久化能解決因底層的數據結構發生改變而導致應用發生改變這樣的問題,同時又可以和多種Web服務器或應用服務器良好集成,如今已經支持幾乎所有的流行的數據庫服務器。并且由于Hiber nate使用了J2EE架構中JDBC,JTA,JNDI等技術,使得 Hiber nate可以方便地集成到J2EE應用服務器中去,為Java應用提供了一個易用的、高效率的輕量級對象關系映射框架[3]。

由此可見,Struts,Spring和Hibernate的集成能夠揚長避短,使框架更加易用、高效,是非常有價值的。

2 應用實例

2.1 系統界面

圖2是文件上傳界面,輸入必要信息,點擊提交即可上傳。

圖2 上傳界面

圖3 是點下載后彈出的現在對話框。

圖3 下載對話框

2.2 系統代碼

2.2.1 文件上傳代碼

文件上傳時,頁面數據通過Upload For m接收,然后傳遞到文件上傳程序中。其中Upload-For m對象中有文件、文件編號、上傳地址、文件個數4個屬性。此處文件上傳分2步,先把文件相關信息寫入數據庫,然后把文本文件傳到指定地址。

//獲得表單對象

Upload For m upload For m = (Upload For m)f or m;

//獲得上傳文件個數Vint length=Integer.parseInt(upload For m.get Length());

//多文件上傳

f or(int i=0;i<length;i++)

//獲得第i個文件對象

For mFile myfile= upload For m.get Myfile(i);

//獲得文件編號

String filenu m=upload For m.get Filenu m(i);

//獲得文件備注

String fileremar k=upload For m.get Fileremar k(i);

//獲得文件名稱

String filename=myfile.get File Name();

//獲得存儲地址,文件將被存儲到服務器下的file文件夾中

String real Path=request.get Session().get Servlet-Context().get Real Path("/files/");

String fileaddress=real Path+"/"+filename;

//數據入庫,此處數據入庫用到了Hiber nate持久化數據庫對象

Wj wj=new Wj();

wj.set Wjb m(filenu m);

wj.set Wj mc(filename);

wj.set Ccdz(fileaddress);

wj.set Wjbz(fileremar k);

wj DAO.save(wj);

//文件上傳

try{

Output Stream streamOut=new File Output Stream(fileaddress);

int bytes Read=0;

byte[]buffer=new byte[8192];

//利用緩存,邊讀邊寫 while((bytes Read=streamIn.read(buffer,0,8192))!=-1){

streamOut.write(buffer,0,bytes Read);}

streamOut.close();

streamIn.close();

myfile.destroy();}

catch(Exception ex){ex.print Stack Trace();}

中小企業成長的關鍵不是經濟環境,也不是市場條件,而是企業自身的管理工作。中小企業無力聘請專業齊全的管理人員,要求經營者當“多面手”,而事實上多數經營者缺乏全面管理的能力,難免顧此失彼。建立健全的財務機構,并讓各機構之間的權力形成相互制約、相互監督的關系,填補崗位空缺,制定完善的財務管理制度,將責任落實到每一位財務人員的身上,鼓勵財務管理人員精通財務知識,大力提高財務人員的整體素質、執行能力和管理能力,建立嚴格的獎懲制度,讓企業財務管控達到最優,根據企業財務狀況制定更加完善的企業計劃,為企業發展做出應有的貢獻。

2.2.2 文件下載代碼

文件下載程序也分兩部分,第一部分實現點擊下載按鈕后彈出下載對話框,第二部分實現文件的讀寫。

//從頁面獲取下載文件的編號

String filenu m=request.get Para meter("filenu m");

//獲得編號對應的文件對象

Wj wj=new Wj();

wj=wj DAO.find ById(filenum);

//獲得文件存儲地址

String path= wj.get Ccdz();

File download File=new File(path);

//獲得文件名稱

String f name=wj.get Wj mc();

try{

BufferedInput Stream bis=null;

Buffered Output Stream bos=null;

Output Stream fos=null;

Input Stream fis=null;

fis=new FileInput Stream(download File);

bis=new BufferedInput Stream(fis);

f os=response.get Output Stream();

bos=new Buffered Output Stream(f os);

int fileLength=fis.available();

//下面就是彈出下載對話框的關鍵代碼

response.reset();

response.set Content Lengt h(fileLength);

response.set Content Type("application/x-msdownload;charset=GBK");

response.set Character Encoding("UTF-8");

f name=java.net.URLEncoder.encode(f name,"UTF-8");response.set Header("Content-Disposition","attach ment;filename="+new String(f name.get Bytes("UTF-8"),"GBK"));

//用輸入流進行先讀,然后用輸出流去寫

int bytes Read=0;

byte[]buffer= new byte[8192];

while((bytes Read= bis.read(buffer,0,8192))!= -1){

bos.write(buffer,0,bytes Read);}

bos.flush();

fis.close();

bis.close();

fos.close();

bos.close();}

catch(Exception ex){ex.print Stack Trace();}

3 結語

Str uts+Spring+Hiber na框架的文件上傳時,Str uts配置文件中會有如下代碼控制上傳文件的大小,這里設置上傳文件最大為500 M,如果不想規定最大文件,可將max FileSize設為-1。如果文件大小超過規定會報錯。

<contr oller max FileSize="500 M"input-For war d="tr ue"/>

上傳和下載文件都運用了緩存,這是為了防止內存溢出而發生錯誤。

本文對文件上傳和下載的應用進行了研究并得以實現。實際應用時在文件上傳中還可加入進度條,使得文件上傳更加人性化。此技術成功應用于湖北省高速公路實業開發有限公司共同研制的高速公路智能化養護專家系統,取得預期效果。

[1] 梁立新.項目實踐精解:基于 Str uts-Spring-Hibernate的Java應用開發[M].北京:電子工業出版社,2006.

[2] 鄔繼成.Str uts與 Hiber nate實用教程-構建基于MVC模式的高效Java Web應用[M].北京:電子工業出版社,2006.

[3] 梅登華,閔華清.基于STRUTS框架的SRM系統設計[J].計算機工程,2006(17):262-264.

猜你喜歡
智能化數據庫系統
智能化戰爭多維透視
軍事文摘(2022年19期)2022-10-18 02:41:14
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
印刷智能化,下一站……
印刷工業(2020年4期)2020-10-27 02:45:52
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
基于“物聯網+”的智能化站所初探
數據庫
財經(2017年2期)2017-03-10 14:35:35
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
主站蜘蛛池模板: 女人18一级毛片免费观看 | 精品国产成人高清在线| 尤物精品视频一区二区三区| 国产一区二区三区日韩精品| 国产真实自在自线免费精品| 亚洲 日韩 激情 无码 中出| 国产爽爽视频| 福利视频一区| 无码'专区第一页| 无码中文字幕乱码免费2| 亚洲国产精品一区二区高清无码久久| 伊人久久大香线蕉影院| 国产成人亚洲精品蜜芽影院| 日本午夜三级| 日韩精品免费一线在线观看| 99这里只有精品6| 最新国产精品第1页| 日韩国产黄色网站| 综合色亚洲| 一级全黄毛片| 成人一区在线| 中文字幕亚洲综久久2021| 亚洲乱亚洲乱妇24p| 国产黄在线免费观看| 制服丝袜一区| 亚洲综合婷婷激情| 国产95在线 | 91口爆吞精国产对白第三集| 欧美日韩va| 亚洲精品无码av中文字幕| 456亚洲人成高清在线| 国产真实自在自线免费精品| 麻豆精品久久久久久久99蜜桃| 亚洲男人天堂网址| 污污网站在线观看| 成人精品免费视频| 国产高清又黄又嫩的免费视频网站| 亚洲日韩AV无码一区二区三区人| 亚洲精品视频在线观看视频| 久久国产精品国产自线拍| 国产精品制服| 成人福利在线看| 毛片国产精品完整版| 色首页AV在线| 国产精品久久精品| 狠狠亚洲五月天| 久久一日本道色综合久久| 国内老司机精品视频在线播出| 国产精品55夜色66夜色| 国产精品视频免费网站| 欧美一级特黄aaaaaa在线看片| 国产va视频| 97成人在线视频| 黄色网页在线播放| 99er精品视频| igao国产精品| 精品久久久无码专区中文字幕| 国产欧美中文字幕| 国产精品无码翘臀在线看纯欲| 国产高清在线观看| 呦女亚洲一区精品| 99热国产这里只有精品无卡顿"| 日韩免费毛片视频| 国产成人91精品免费网址在线| 国产91丝袜在线播放动漫 | 国产女人水多毛片18| 无码中文字幕乱码免费2| 亚洲欧美成人在线视频| 色哟哟色院91精品网站| 一级毛片不卡片免费观看| 国产极品粉嫩小泬免费看| 扒开粉嫩的小缝隙喷白浆视频| 丝袜国产一区| 国产成人精品视频一区二区电影| 99久久精品免费看国产免费软件| 亚洲AV一二三区无码AV蜜桃| 亚洲色成人www在线观看| 凹凸国产熟女精品视频| 玖玖精品在线| 国产精品黑色丝袜的老师| 国产欧美成人不卡视频| 999精品视频在线|