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

一種基于Struts技術的圖片管理系統設計

2011-07-07 08:48:32
制造業自動化 2011年20期
關鍵詞:用戶系統設計

蔣 彭

(上海市靜安區業余大學,上海 200040)

0 引言

商業需求刺激了現代信息技術的不斷發展,并直接對各種基于web的應用服務產生了深遠的影響。當前,在以信息技術運用為基礎的現代業務運作模式中對WEB系統的依賴程度也在不斷擴大,并且日趨復雜。一個健壯而高效的WEB應用服務系統不僅能為各種業務流程節省大量的人力和物力,同時也能為用戶提供一個合理而有效的服務平臺。

本文通過闡述一種基于Struts技術的圖片管理系統的開發設計過程,介紹了在J2EE平臺上進行WEB應用服務開發所涉及到的一些理論知識,并詳細闡明了系統的設計過程,與實現的思路和具體算法。

1 相關概念

1.1 J2EE平臺

J2EE表示企業版Java2平臺,是使用Java技術開發企業級WEB應用的一種事實上的工業標準。通過這個平臺可以將多種面向服務的應用都包含在一個框架中,也稱之為容器,每個框架中又包含用于實現各種功能的若干組件。在J2EE中最常用的容器就是WEB容器或稱為WEB服務器,里面最核心的兩個組件就是JSP和SERVLET。而Struts就是基于這兩種技術,依賴于WEB容器。

1.2 MVC

MVC是一種設計模式,利用應用服務器將應用的業務邏輯、表示邏輯和數據分為三個不同的處理層,即分為模型(Model)、視圖(View)和控制器(Controller)三個部分。當客戶端通過瀏覽器提交用戶請求后,在MVC模式中由控制器接收用戶動作,通過模型調用具體的業務邏輯進行數據處理,并將數據處理的結果以一個特定的視圖格式在表示層中返回給用戶。MVC模式的結構如圖1所示。

圖1 MVC模式的結構

模型包含應用程序的核心功能,封裝了應用程序的狀態,主要完成對數據的處理和計算操作。

視圖提供了應用服務系統與用戶交互的界面,呈現了數據處理的結果,在視圖中只是作為一種輸出數據并允許用戶操縱的方式。

控制器對用戶的輸入做出反應,負責把用戶的請求提交給相應的模型和將模型的改變及時反應到視圖上,控制對用戶輸入的響應方式和流程。

1.3 Struts框架

Java開發WEB應用服務系統有多種符合MVC開發方式的組件及框架組合,在本項目中是使用JSP作為開發模型(Model),以Struts框架作為開發控制器(Controller),以Hibernate作為應用服務程序與用戶交互的界面(View)。

Struts的核心是一個彈性的控制層,基于如Java Servlets,JavaBeans與XML等標準技術,以及Jakarta Commons 的一些類庫。結合Struts框架的MVC模式處理過程是:其中控制器部分由Struts的ActionServlet 類和Action類來實現,在客戶提交請求后,首先由前端控制器ActionServlet類接收,它將不同的請求傳遞給不同的后端控制器Action類來進行處理,請求的URL和后端控制器的映射關系在配置文件struts-config.xml中的〈action-mappings〉里面設置,并返回JSP類型的視圖格式,Struts框架的結構如圖2所示。

圖2 Struts框架的結構

2 系統設計理念

系統主要是實現圖片上傳、編輯和展示的功能。其中圖片展示模塊主要實現在頁面中按分類顯示圖片預覽效果的功能,并可按照不同的分類訂閱RSS,以供用戶有選擇性的訂閱或瀏覽;圖片管理模塊包括圖片的上傳、圖片縮略圖編輯和組圖編輯等功能。

2.1 系統界面設計

在整體顯示界面布局設計中主要采用Struts中的Tiles框架來實現,Tiles框架為創建Web頁面提供了一種模板機制,它能將網頁的布局和內容分離。允許先創建模板,然后在運行時動態地將內容插入到模板中。與采用基本的JSP語言來創建Web頁面相比,Tiles框架大大提高了視圖層程序代碼的可重用性、可擴展性和可維護性。

首先,定義模板文件,在模板文件要插入頁面的地方加入〈tiles:insert〉標簽并定義attribute屬性,該屬性指定了待插入內容的邏輯名,而沒有指定真正被插入的文件。

其次,在專門的XML文件中配置Tiles 組件,這個文件位于WEB-INF目錄下。在本項目中,該文件名為tilesDefinitions.xml。在配置文件中配置definition元素和put元素,對應模板文件和其下所定義的邏輯名。

最后,在web.xml配置文件中配置如下〈taglib〉元素:

〈taglib-uri〉/WEB-INF/struts-tiles.tld〈/tagliburi〉

〈taglib-location〉/WEB-INF/struts-tiles.tld〈/taglib-location〉

2.2 RSS功能實現

在系統設計中,選用了Sun公司所提供的開發組件Rome來實現符合RSS2.0標準的RSS功能。在RSS文檔中,它的根元素是〈rss〉,并包含一個表示其版 本 的version屬 性, 如:〈rss version="2.0"〉。整個 RSS 文檔由包含在 〈rss〉 中的一個 〈channel〉元素及其子元素組成。除了頻道內容本身之外,〈channel〉元素還以〈item〉項的形式包含表示頻道元數據(metadata)的元素。〈item〉項通常是頻道的主要部分,包含經常變化的內容。不論是在channel還是item中,都要包含以下三個必須的元素:〈title〉,頻道或提要的名稱;〈link〉,與之關聯的 Web 站點或者站點區域的 URL;〈description〉,簡要的介紹或描述。

根據上述描述,將圖片的分類(category)對應RSS中的頻道(channel),將組圖(story)對應項(item),然后根據時間排列列出最新的6個組圖數據進行輸出。RSS最終聚合方式的實現方法是,在做struts跳轉之前,通過servlet中response的getWriter()方法直接以XML的格式輸出處理后的數據。

channel.setEncoding ("UTF-8"); //定義所生成的XML的字符集

channel.setTitle ("圖片新聞網"); //設置title內容

channel.setDescription (dw.getCateName()); //設置Description內容

channel.setLink ("##"); //設置鏈接

2.3 圖片編輯設計

在圖片編輯設計中圖片上傳功能是通過struts框架中的FormFile組件實現的,它主要是基于apache的common-uploadfile工具包通過數據流的方式將數據傳回服務器端。

在邏輯驗證通過后,按照設定的算法將原始圖片做成兩張縮略圖片,以供在組圖和大圖瀏覽時能以最佳的精度得以展示。

BufferedImage src = ImageIO.read (new File(srcImageFile)); //讀入文件

BufferedImage tag = new BufferedImage (w, h,

BufferedImage.TYPE_INT_RGB); //創建指定尺寸的RGB模式圖片對象

tag.getGraphics().drawImage (src,0,0,w,h,null);//根據原始圖片開始繪制

File smallfile = new File (path);

ImageIO.write (tag, "jpg", smallfile); //寫入圖片

2.4 字符集設計

在面向Web系統的前臺顯示頁面中,通常設置字符集為GB2312或GBK,而Java默認采用的是unicode編碼,即UTF-8字符集,加之數據庫也有字符集的設定,如果這三者之間不能統一或者相互轉換,那么就會產生顯示亂碼的情況。

因此在本系統設計中加入過濾器(filter),通過在java端轉換字符集,每當有request和response請求時,需要經過系統后臺的java程序進行處理,強制轉換所包含數據的字符集。

具體實現是通過StrutsFormUtil類,該類實現了Filter接口,通過讀取配置的方式將數據轉換成指定的字符集。

3 結論

Struts技術使用標記和 MVC模式提高了程序設計代碼的可重用性和靈活性,使網頁設計人員和程序開發人員能將精力集中于自己最擅長的方面。但是,在強健性增強的同時,也意味著復雜性的增加。Struts技術比簡單的單個 JSP 網頁要復雜得多,但對于更大的系統而言,Struts技術實際上有助于管理復雜性。

本文通過采用Struts技術進行圖片管理系統設計過程的闡述,介紹了其中所運用到的相關框架、組件以及設計模式。從本文中可看出在J2EE平臺下使用Struts技術,除了具有Java語言本身的優點外,還可以利用其中諸多功能豐富的組件,使其可以勝任企業級應用的復雜性和安全性的要求,Struts也可能會成為您下一個WEB項目中不可缺少的一部分。

[1] Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. 設計模式[M]. 機械工業出版社, 2002.

[2] 孫衛琴. 精通struts [M]. 電子工業出版社, 2004.

[3] 孫衛琴. 精通hibernate [M]. 電子工業出版社, 2005.

[4] 曾順. 精通JavaScript+jQuery[M]. 人民郵電出版社,2008.

[5] 劉潤東. Object Design & Programming with UML[M]. 北京希望電子出版社, 2001.

[6] 譚穎華, 張云飛, 唐勇. Webwork inAction中文版[M]. 電子工業出版社, 2006.

猜你喜歡
用戶系統設計
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
主站蜘蛛池模板: 亚洲人成网址| 中文字幕第1页在线播| 白丝美女办公室高潮喷水视频| 91精品啪在线观看国产91| 国产在线视频欧美亚综合| 青青青视频91在线 | 亚洲a免费| 精品国产免费观看一区| 亚洲国产成人自拍| 99视频精品全国免费品| 欧美精品不卡| 亚洲色图狠狠干| 91视频首页| 欧美国产日韩在线播放| 国产亚洲精品va在线| 久久精品66| 亚洲天堂网在线观看视频| 19国产精品麻豆免费观看| 无码中文字幕加勒比高清| 高h视频在线| 亚洲人成网站观看在线观看| 久久国产精品夜色| 97av视频在线观看| 亚洲不卡影院| 91国内视频在线观看| 无码中文字幕乱码免费2| 久久久亚洲色| 狠狠综合久久| 尤物亚洲最大AV无码网站| 国产午夜一级淫片| 五月婷婷综合色| 亚洲成人在线网| 亚洲Aⅴ无码专区在线观看q| 欧美三级不卡在线观看视频| 精品人妻一区二区三区蜜桃AⅤ| 国产亚洲日韩av在线| 国产精品中文免费福利| 青草精品视频| 国产精品太粉嫩高中在线观看 | 91在线无码精品秘九色APP| 亚洲国产精品人久久电影| 午夜性爽视频男人的天堂| 天天综合天天综合| 国产微拍一区二区三区四区| 在线播放真实国产乱子伦| 国产黑丝视频在线观看| 国产不卡在线看| 天天综合网在线| 国产自在线播放| 欧美午夜网| 亚洲精品波多野结衣| 免费一级毛片在线观看| 亚洲精品欧美重口| 91久久精品日日躁夜夜躁欧美| 3344在线观看无码| 久久国产拍爱| 茄子视频毛片免费观看| 国产麻豆另类AV| 国产在线小视频| 欧美激情,国产精品| 久久黄色免费电影| 尤物成AV人片在线观看| 日韩在线中文| 免费亚洲成人| 999国产精品永久免费视频精品久久| 日韩欧美国产精品| 狠狠v日韩v欧美v| 久久成人18免费| 亚洲精品成人7777在线观看| 欧美午夜久久| 国产精品人莉莉成在线播放| 成人在线观看一区| 这里只有精品国产| 午夜a级毛片| 国产在线一区视频| 9久久伊人精品综合| 91偷拍一区| 欧美天堂在线| 狼友视频国产精品首页| 中文字幕欧美成人免费| 国产经典三级在线| 亚洲侵犯无码网址在线观看|