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
主站蜘蛛池模板: 高清久久精品亚洲日韩Av| 一级毛片无毒不卡直接观看| 有专无码视频| 亚洲天堂在线视频| 中国一级特黄大片在线观看| 超碰精品无码一区二区| 久久情精品国产品免费| 99视频在线看| 久久综合婷婷| 国产成人精品一区二区不卡| 久久综合亚洲鲁鲁九月天| 亚洲欧美日韩中文字幕在线| 国产av无码日韩av无码网站 | 手机永久AV在线播放| 97国产精品视频人人做人人爱| 四虎国产在线观看| 怡春院欧美一区二区三区免费| 免费AV在线播放观看18禁强制 | 亚洲国产无码有码| 丰满人妻中出白浆| 国产97视频在线| 美女扒开下面流白浆在线试听| 午夜小视频在线| 色婷婷狠狠干| 色综合成人| 无码有码中文字幕| 久久亚洲精少妇毛片午夜无码 | 亚洲91精品视频| 日韩欧美国产另类| 亚洲国产午夜精华无码福利| 日韩欧美国产另类| 欧美特黄一免在线观看| 国产亚洲欧美在线人成aaaa| Aⅴ无码专区在线观看| 综合网天天| 国产理论最新国产精品视频| 国产真实乱子伦精品视手机观看| 免费无码又爽又黄又刺激网站| 欧美一级大片在线观看| 亚洲中文字幕日产无码2021| 亚洲精品久综合蜜| 久久无码高潮喷水| 亚洲国产中文在线二区三区免| 大陆精大陆国产国语精品1024| 真实国产乱子伦视频| 中文国产成人精品久久| 性视频久久| aa级毛片毛片免费观看久| 1769国产精品免费视频| а∨天堂一区中文字幕| 亚洲最大福利网站| 日本高清有码人妻| 亚洲另类色| 亚洲v日韩v欧美在线观看| 丰满的熟女一区二区三区l| 欧美色99| 国产另类视频| hezyo加勒比一区二区三区| 欧美日韩理论| 亚洲一区二区三区国产精华液| 日本少妇又色又爽又高潮| 偷拍久久网| 91福利免费| 亚洲av无码人妻| 蜜桃视频一区二区三区| 57pao国产成视频免费播放 | 国产91在线免费视频| 亚洲成a人片77777在线播放| 日本草草视频在线观看| 亚洲第一中文字幕| 亚洲va在线∨a天堂va欧美va| 无码丝袜人妻| 色综合成人| 日韩小视频网站hq| 日韩二区三区| 免费在线不卡视频| 日本五区在线不卡精品| 精品视频一区在线观看| 成人午夜亚洲影视在线观看| 国产真实自在自线免费精品| 亚洲乱码精品久久久久..| 午夜a级毛片|