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
主站蜘蛛池模板: 一区二区三区毛片无码| 欧美一级大片在线观看| 亚洲成aⅴ人片在线影院八| 在线高清亚洲精品二区| 国产精品亚欧美一区二区| 亚洲天堂区| 国产麻豆精品手机在线观看| 91精品国产一区自在线拍| 内射人妻无码色AV天堂| 久久精品中文字幕少妇| 免费一级大毛片a一观看不卡| 青青草欧美| 国产噜噜在线视频观看| www.日韩三级| 久久久噜噜噜| 成人在线不卡| 亚洲天天更新| 美女内射视频WWW网站午夜| 玖玖精品在线| 在线观看国产精美视频| swag国产精品| 日韩成人免费网站| 亚洲国产精品日韩欧美一区| 午夜福利视频一区| 爆乳熟妇一区二区三区| 有专无码视频| 国产综合亚洲欧洲区精品无码| 白浆视频在线观看| 东京热高清无码精品| 最近最新中文字幕在线第一页 | 少妇精品网站| 国产亚洲视频免费播放| 中文字幕在线观| 国产欧美视频在线观看| 欧美成人国产| 成人年鲁鲁在线观看视频| 日韩AV无码免费一二三区| 国产精品原创不卡在线| 好紧好深好大乳无码中文字幕| 国产精品视频999| 亚洲不卡av中文在线| 露脸真实国语乱在线观看| 无码日韩精品91超碰| 天天躁夜夜躁狠狠躁图片| 久久中文电影| 成年看免费观看视频拍拍| 色悠久久综合| 国产亚洲精品97AA片在线播放| 人妻无码中文字幕一区二区三区| 无码AV动漫| 国产女人在线观看| 久久大香伊蕉在人线观看热2| 亚洲爱婷婷色69堂| 99久久99视频| 亚洲最大看欧美片网站地址| 中文字幕在线日本| 色妺妺在线视频喷水| 99国产精品免费观看视频| 91在线精品麻豆欧美在线| 亚洲 欧美 中文 AⅤ在线视频| 少妇高潮惨叫久久久久久| 亚洲美女一区| 日本黄色a视频| 国产乱人乱偷精品视频a人人澡| 亚洲三级a| 国产a网站| 日本亚洲国产一区二区三区| 青青青国产视频| 国产午夜无码专区喷水| 秋霞一区二区三区| 18禁高潮出水呻吟娇喘蜜芽| 国产微拍一区| 国产丝袜91| hezyo加勒比一区二区三区| 91精品专区国产盗摄| 99久久精品国产麻豆婷婷| 日韩黄色在线| 久久激情影院| 8090成人午夜精品| 伊人久久综在合线亚洲2019| 日本一本正道综合久久dvd| 午夜精品国产自在|