


摘要:發展現代農業,將農業融入互聯網技術中,可以開拓農業發展的新領域。本文從網站的功能分析、數據庫設計及關鍵功能的實現技術詳細介紹了下蜀農業信息網設計的全過程。
關鍵詞:下蜀;農業信息網;MVC;數據庫;Ajax
中圖分類號:G642 文獻標識碼:A
文章編號:1009-3044(2019)35-0003-03
1 概述
在中國這個文明古國,農業是主要產業之一,當農業與互聯網產生交集,農業將被帶入一個新的時代,煥發新的生機。隨著社會的進步和互聯網產業的高速發展,傳統產業一農業也有了長足的發展,為了滿足地區農業的發展需要,農業地區的大量信息迫切需要引起社會投資者的廣泛關注,這些信息需要一個發布平臺,使得地區可以走出去展開來吸引更多的外來機遇,所以,需要開發一個適合地區農業信息發展的農業信息網,特別是方便易用的后臺管理要能滿足信息化普及程序不高的農村用戶。在開發之前,積極與下蜀相關部門負責人聯系,了解下蜀地區的概況、發展現狀和需求,從而進行詳細的信息網需求分析,以明確該網站所要實現的各項功能。
2 網站功能及可行性分析
下蜀農業信息網的功能主要集中在信息展示及信息檢索方面,同時在用戶模塊方面有評論管理的功能,還有用戶的信息管理模塊。而在后臺有各類信息的管理模塊,地區介紹的管理模塊,產品管理模塊,區域特色管理模塊,還有在線評論的管理模塊。這些功能管理模塊都是支撐網站的核心
前臺的各類信息展示要是用來分塊展示各類信息模塊,如:農業新聞、農業資訊、區域展示、農產品展示等;信息檢索模塊主要是實現用戶根據老百姓檢索需要的各類信息;用戶登錄后可對各類信息發表自己的意見或見解等,它們有多級的關聯查詢,還有基于JavaScript語言的邏輯業務代碼,具有復雜的業務邏輯,是信息類網站的核心業務代碼模塊,可行性高,功能實現后的進一步修改不大便可擴充其他功能,主要就是加固代碼,以代碼穩定性為前提。
后臺的業務代碼主要就是繁雜的業務添加代碼和查詢代碼,是可行性中級的業務模塊,后臺的信息添加關乎前臺頁面的展示,后臺的功能是實現對全部前臺展示信息的類型,具體信息的管理(增加、刪除、修改、查詢),如果后臺業務出現問題的話,前臺的網站,將是一個空架子,也就失去了設計之初追尋的設計原則,簡潔并且高效,數據插入將只能依靠數據庫的手動插入,失去了靈活性,同時變得異常低效。因此,后臺的代碼模塊更關鍵的在于完整和穩定性,它是支撐網站運行的有力保障。
3 數據庫設計
設計數據庫表的時候,需要對應下蜀農業信息網的功能需求設計出相應的實體,然后再對實體進一步細化,充分考慮表與表之間的關系,設計出相應的數據表及每個表的字段,且簡明不能有冗余字段。結合下蜀農業信息網的業務流可設計出該信息網的數據操作流程圖如圖1所示,主要需要七張數據表來記錄相關數據,下面簡要介紹幾個關鍵表的邏輯結構。
3.1用戶信息表(User)
該表是用來存儲用戶基本信息的表,包括用戶名、用戶密碼、狀態、注冊時間等多個關于用戶信息的字段,如表1所示。
3.2文章表(News)
該表是用來存儲網站內所有文章信息的表,包括文章的標題、文章正文、文章的類型編號(該字段有對應類型表)、相關的圖片、發表的時間等多個關于文章信息的字段,如表2所示。
3.3文章評論表(Review)
該表是用來存儲用戶對當前網站內所有文章的評論信息的表,包括評論時間、評論內容、被評論文章編號、評論用戶ID等多個關于文章評論信息的字段,如表3所示。
3.4區域介紹表(lntroduce)
該表是用來存儲下蜀地區有信息發布需求的區域信息表,包括區域名稱、區域介紹、代表圖片等多個區域信息的字段,如表4所示。
3.5區域特色表(Feature)
該表是用來存儲地區內相關特色信息的表,包括地區編號、特色名稱、特色介紹、相關圖片等多個關于區域特色信息的字段,如表5所示。
以上是下蜀農業信息網用到的幾個關鍵數據表,沒有過多的冗余字段并且遵從了數據庫設計的三大范式,表與表之間通過主鍵、外鍵進行關聯,有效地提升了本信息網的數據存儲與使用效率。
4 關鍵功能及代碼分析
4.1異步刷新
在網頁設計中有一種很重要的效果是異步刷新。當網頁中有很多信息,但并不需要在某一時刻全部加載,而且一次性全部加載的時候就會造成網頁非常的卡;或者在頁面中有局部需要更新數據。為了解決這些問題,異步響應就應運而生了。每次就只加載一部分,加載完后再加載其他部分,這樣網頁就不會一直在空白頁面旋轉,而是會先加載出一部分,展示給用戶看。實現這種效果就需要使用Ajax語言來實現,這種語言是專門實現異步和同步的效果,下面就是網站注冊用戶的用戶名是否有效的校驗代碼:
$.post("${pageContext. request.contextPath}/ajax/validateUser-name",{"userName":username},
function(message){
$("#usernameMessage").text(message);
$("#usernameMessage").css({"color":"red","font-size":"15px","font-weight":"hold"}););
});
4.2分頁查詢和關聯查詢
下蜀農業信息網的查詢功能中,由于有很多的文章信息,為了不過度占用系統資源,提高頁面加載效率,就不能一次性的將新聞全查出來,而是每次只查當前顯示需要的幾條數據。這樣在設計查詢語句時就要充分考慮到每頁記錄條數的查詢條件及當前頁數,關鍵實現代碼如下:
selectfrom news n left join news-type nt on n.news-type-id=nt.id where 1=1and nt.id=#{newsTypeId}and n.createtime like CONCAT('%',$(year},'%')and n.createtime like'%${newsTime}%'and nt.name like'%${keyWord}%&aposor nt.detail like'%${keyWord}%'or n.content like'%$(keyWord}%'or n.newstitle like'%$(keyWord}%'limit#{startNum},#{pageSize}
4.3圖片上傳
無論是文章信息還地區或區域特色介紹都離不開圖片的展示,因此,圖片上傳是下蜀農業信息網后臺管理的必須且重要的功能。在頁面中form表單提交的方式必須是post,請求和傳輸的方式必須是enctype="multipart/form—data"類型的參數,否則會報文件類型異常,在controller中對傳過來的文件做處理,首先通過getOriginalFilename()方法獲得文件的路徑,然后和上傳的文件所存路徑拼接起來,就能將文件保存指定的文件夾中,關鍵實現代碼如下:
@RequestMapping("/addNews2")
public String addNews2(News news,Integer newsTypeId,@Re-questParam("imagefile")CommonsMultipanFile file,HttpSessionsession)throws Exception{
ServletContext application=session.getServletContext();
System.out.println("路徑:"+application.getRealPath("up-load"));
System.out.println(fle.getOriginalFilename());
System.out.println();
if("".equals(file.getOriginalFilename())){
news.setImage("");
}else{
String uploadDir=application.getRealPath("upload");
file.transferTo(new File(uploadDir,file.getOriginalFilename()));
news.setlmage("upload/"+file.getOriginalFilename());
}
newsService.addNews(news,newsTypeld);
return"redirect:/news/findNews"; }
5 結論
綜上所述,本文詳細闡述了基于Java語言、Tomcat服務器,以MyEclipse為開發工具、MySQL為數據存儲庫結合SpringM-vc技術如何來開發下蜀農業信息網。該信息網介紹了下蜀地區的風土人情、農產品信息、特色經濟、農業資訊及農村區域特色,為外界認識下蜀、了解下蜀提供了實時、準確的官方窗口,同時也為下蜀地區的農業信息化和社會主義新農村建設提供重要信息支撐平臺。
參考文獻:
[1]Java設計模式深入研究,劉德山,金百東編著[M].北京:人民郵電出版社,2014.7
[2]SQL Server 2005從入門到精通(應用技術基礎)/微軟技術叢書Solid Quality Learning著[M].王為譯出版社:清華大學出版社
[3]劉衛權.江蘇鹽城農業信息化建設研究[D].湖南農業大學,2017.
[4]孫少寧,尹寶全,孫芳.農業信息化教育網站平臺的建設與研究[J].農業網絡信息,2015(09):53-56.
【通聯編輯:王力】
收稿日期:2019-09-10
作者簡介:張金鳳(1978-),女,江蘇泰興人,講師,碩士,主要從事計算機應用方向研究。