《電子技術應用》
您所在的位置:首頁 > 其他 > 業界動態 > 基于J2EE(羊毛衫)遠程定制系統的設計研究

基于J2EE(羊毛衫)遠程定制系統的設計研究

2009-01-06
作者:方曄,石金華,郭放

1 引言
目前制約我國服裝生產企業發展的瓶頸已經從生產環節轉向市場營銷與貿易環節,許多服裝生產企業都開始采用網上定制的方式來開拓銷售市場。另一方面,借助于WWW通過動態的交互式信息發布,出現了諸如網上購物、網上銀行、網上書店等一系列在線電子商務服務系統。這些系統都離不開分布式的數據庫、與用戶及后臺數據庫交互的動態Web應用程序、安全認證等技術。因此在Internet/Intranet環境下如何構建分布式動態Web應用系統的開發自然而然地成為一項熱門技術。
文中所介紹的服裝(羊毛衫)遠程定制系統,采用了基于J2EE / EJB的分布式應用體系結構和MVC開發模型,使分布在不同地理位置上的花型數據庫、遠程定制系統與遠程診斷系統,通過Internet互連在一起,共享信息資源,實現羊毛衫的遠程定制生產和電腦橫機遠程維護。
2? 基于J2EE分布式開發技術簡介
目前使用的分布式開發技術主要有以下幾種C/S、C/A/S、B/A/S等。這幾種技術共同點在于都可以實現數據的共享,對數據進行統一管理和維護。
分布式技術發展到現在,出現了許多相關的標準和產品。其中最為引人注目的就是SUN公司推出的J2EE / EJB的體系結構了。這是自SUN公司推出JAVA后的又一大手筆。Enterprise JavaBean這一名稱利用了JavaBean這種可移植、可重用的Java軟件組件的聲望。Enterprise JavaBean技術把Java組件的概念從客戶機域擴展到了服務器域,這是Java技術成長過程中有重大意義的一步,它使Java技術發展成為一種強健的、可伸縮的環境,能夠支持以任務為關鍵的信息系統。下圖是J2EE / EJB的分布式應用模型:

??? 從圖中可以看出,Servlet/JSP起著聯系前后臺的橋梁作用。客戶端Browser通過HTTP協議向Java應用服務器發送請求。Web層的Servlet或JSP生成網頁用來完成表示層邏輯,它們的主要作用是接受并檢驗用戶輸入,調用后端的業務邏輯層,并把業務邏輯層處理的結果返回給用戶[2]。JSP和Servlet都運行在應用服務器端,業務邏輯層由EJB或JavaBean來實現,他們通過JDBC訪問DBMS,或通過其它途徑去訪問遺留系統。
??? J2EE思想的一個重要的實現構架就是MVC(Model-View-Controller,模型-視圖-控制器)模式。在MVC模型中,應用程序被分解成獨立的3個部分:
??? 2 模型:即程序將要實現的業務邏輯
??? 2?視圖:又稱用戶界面
??? 2?控制:用來管理模型和視圖之間交互以及應用程序的流程的構件
??? 在這種設計模式下,JSP主要用來實現MVC模型的視圖部分,Servlet用來實現模型的控制部分(控制用戶輸入和流程),JavaBean等后臺Java技術則用來實現MVC的模型部分。這種模式比較適合控制邏輯較復雜的情況,如用戶輸入情況復雜或者程序流程復雜的情況。
??? 在遠程定制系統設計的具體實踐中,在J2EE中間件應用服務器和數據庫服務器的選取可考慮使用IBM的WebSphere和DB2的組合或BEA的WebLogic和ORACLE的組合,這兩種方法是目前比較流行和性能較好的方法,在大型的系統中得到了廣泛的使用。
3? (羊毛衫)遠程定制系統的設計內容
??? 本系統以大型電腦針織橫機為基礎,將羊毛衫銷售商場的遠程定制用戶端計算機通過Internet網絡與羊毛衫設計中心的Web服務器以及企業的大型電腦針織橫機互連在一起,實現羊毛衫遠程定制設計與生產。整個定制系統總體構造示意圖如下:

?????????

??? 2 花型數據庫模塊
??? 羊毛衫花型設計中心通過基于Web的花型數據系統。可以定制或選擇各種不同類型的花型,可對花型圖案數據進行查詢、編輯、修改、打印等。從攝像輸入、圖片掃描、或直接繪圖取得花型圖像轉換成花型數據文件,羊毛衫生產企業也可以對花型數據庫進行編輯修改。
??? 2?遠程定制模塊
??? 羊毛衫專賣商場采用基于Web的遠程定制系統,共享花型設計中心資源。顧客可以在線瀏覽現有的羊毛衫產品或者根據自己喜好選擇花型式樣,品種和顏色等款式信息進行羊毛衫定制,向羊毛衫生產企業提交定制工藝單,并由系統提供模擬橫機編織和試穿效果演示。
??? 2?遠程診斷模塊
??? 大型電腦針織橫機制造與售后服務基地,通過基于Web的遠程監測維護系統,將被監測的電腦針織橫機運行狀況,以頁面形式顯示到自己的計算機上,對遠方的大型電腦針織橫機進行遠程監測、故障診斷、遠程交談、文件傳輸等。
??? 系統設計采用SQL Server 2000數據庫系統建立羊毛衫花型數據庫,服務器操作系統為Windows 2000 server,遠程定制和診斷模塊的開發都采用基于J2EE的JSP / Servlet,JavaBean,JDBC的三層結構。J2EE應用服務器為BEA WebLogic6.1,Web服務器采用微軟的IIS4.0。Borland Jbuilder6.0作為J2EE的開發工具。系統采用Browser / Web / DBMSServer三層結構作為總體結構設計的計算模式。此三層結構最大的優點是將用戶界面、應用邏輯與數據管理三層分開,使得系統可以靈活多變地應付各種變化。
??? 下面介紹基于MVC開發模型設計遠程定制模塊。
4? 遠程定制模塊的具體實現
4.1? 用JSP實現視圖

??? 由于JSP程序的特點,宜采用獨立的JSP程序來實現不同的程序功能模塊,或者說,用不同的JSP程序實現不同的程序頁面。下圖說明了模塊的主要頁面以及實現它們的JSP程序:
??????????

??? 其中白色方框代表程序中顯示給用戶的頁面,灰色方框代表程序后臺實現的功能,箭頭表示了頁面之間的鏈接關系和功能調用關系。這樣分立的實現比單一的程序結構更容易調試,也更容易維護。
4.2 用JavaBean實現模型
??? (1)業務實體
??? 整個模塊中存在著5個業務實體,為了實現系統的業務邏輯,需要定義如下的JavaBean(每個實體對應一個Bean):Catalog:羊毛衫分類目錄;Product:羊毛衫產品信息;User: 用戶信息,它包含了Order;Order定制工藝單,它包含了Item;Item:定制信息條目。
??? 每個業務實體都具有若干主要功能操作(方法)。例如定制工藝單管理實體,它可以增加定制信息(addOrderItem方法)、刪除定制信息(delOrderItem方法)、修改定制信息(setOrderItem方法)和清空所有定制信息(clearOrder方法)。
??? 另外,為了使對數據庫的訪問得到統一的管理,將數據庫訪問的各個操作進行了封裝,封裝到一個Java類DBSQL中。這樣,程序的數據庫訪問都可以通過這個類的方法來實現。經過這樣的抽象以后,上層的Bean無需關心如何訪問數據庫,它只需要知道DBSQL類的接口就可以了;而DBSQL類只要保持接口不變,內部的實現可以任意改變,例如進行優化,并且不會影響到上層應用。
??? (2)JavaBean的定義
??? 下面列出了實現用戶實體Bean(User)屬性和方法的部分程序,User Bean是一個按標準定義的JavaBean,它定義了以下一組屬性:
public class User {
??? int UserID;?????只讀屬性,標示登錄用戶的編號
??? String UserName;????可讀可寫屬性,標示登錄用戶的姓名
??? String Password;????可讀可寫屬性,標示登錄用戶的密碼
??? boolean Login;????可讀可寫屬性,標示用戶是否登錄成功
??? Order order;?只讀屬性,標示用戶的定制工藝單對象,這個對象如果存在,它本身也是一個Bean,在Order類中定義
……
// checkUser方法用來檢查用戶登錄信息。通過JDBC訪問數據庫,檢查用戶名稱和口令是否正確,如果正確就把login屬性設置為true,并為該用戶創建一個定制工藝單對象保存在屬性order中
……
??? db.openDB();
??? String strSQL = "select UserID from USER where Name='"+UserName+"' and Password='"+Password+"' and Type=0";
??? try {
????? ResultSet sqlRst = db.executeQuery(strSQL);
????? if (sqlRst.next()) {
??????? Login = true;
??????? UserID = sqlRst.getInt(1);
??????? order = new Order();
????? } else {
????? ?Login = false;
????? ?order = null;
}
……
// orderPay方法用來實現定制工藝單提交。它獲取定制工藝單中的款式定制信息,然后通過JDBC將工藝單信息增加到數據庫的表中。該方法返回boolean值,標示定制工藝單提交是否成功
……
??? db.openDB();
??? try {
????? ……
????? strSQL = "select OrderID from order where UserID="+(new Integer(UserID)).toString()+" and OrderCount="
??????? +OrderCount+" and OrderTotal="+OrderTotal+" and OrderDate=Date() order by OrderID desc";
????? ResultSet sqlRst = db.executeQuery(strSQL);?????????? 取得當前定制款式的用戶號
????? sqlRst.next();
????? String OID = sqlRst.getString(1);
????? sqlRst.close();
????? for(int i=0; i??????? item anItem = (item) order.getOrderItem(i);?????? 定制工藝單上的每一種款式
??????? String PID = (new Integer(anItem.getPID())).toString();??? ? 定制款式號
??????? String Price = (new Integer(anItem.getPrice())).toString();??? 定制款式價格
??????? String Qty = (new Integer(anItem.getQty())).toString();?????? 定制款式數量
??????? strSQL = "insert into orderlist (OrderID,ProductID,Price,Qty) values ("
????????? +OID+","+PID+","+Price+","+Qty+")";??? 將定制工藝單信息添加到數據庫中
??????? sqlRet = db.executeUpdate(strSQL);
????? }
……
??? User Bean在程序中是作為session范圍的Bean定義的。它在程序中的第一個用處是獲取login的屬性值,檢查是否是登錄會員的訪問;第二個用處是在member.jsp程序中使用checkUser方法執行會員登錄認證操作;第三個用處是在pay.jsp程序中使用orderPay方法執行定制工藝單提交操作。
4.3? 用Servlet實現控制
???? (1)JSP / Servlet設計模型
???? JSP / Servlet設計模型的原理如下圖所示:

??? 用戶瀏覽器發出的訪問請求都發送到Servlet統一處理,Servlet解釋請求信息,進行相應處理,如果需要同實現業務邏輯的模型部分交互則同相應的模型Bean交互。實現業務邏輯模型的Bean被稱為“模型Bean”,它們封裝了程序的業務邏輯,將后臺的模型同前臺的控制與視圖分離開,如果業務邏輯比較復雜,“模型Bean”往往還需要同其他的后臺系統交互,例如數據庫,其他的EJB等等。最后,Servlet調用(通過forward或include機制)JSP程序顯示相應的頁面。
??? (2)使用JSP / Servlet設計模型實現頁面調用
??? 由于定制工藝單的管理比較復雜,包含多個功能,即需要根據用戶的不同請求,進行不同的定制工藝單操作。因此采用Servlet類OrderServlet實現這個控制邏輯,而另外編寫一個order.jsp程序,它就只需要完成調用頁面各部分的顯示程序顯示管理頁面內容就可以了,所有的根據用戶請求進行定制工藝單管理操作的控制都在OrderServlet中實現,定制功能的業務邏輯則仍在實現定制工藝單實體的JavaBean中實現。
??? (3)編寫部署描述文件
??? 在使用WebLogic6.1對系統進行裝配和部署時,需要在部署描述文件web.xml中將order.jsp映射到OrderServlet這個Servlet,這樣,當在其他程序中訪問order.jsp時,系統實際執行的是OrderServlet。
……

??
?????
????????? OrderServlet
?????

?????
????????? OrderServlet
?????

???

???
???????
??????????? OrderServlet
???????

???????
??????????? /order.jsp
???????

???


5? 結束語
??? J2EE是一個比較成熟的分布式體系結構,只需按照其規范和對應的開發工具的文檔來編寫程序和配置容器就可以實現整個系統的標準化。實現整個遠程定制系統的過程體現了使用J2EE體系結構編寫分布式系統的許多優勢:通過Session Bean封裝業務邏輯,Entity Bean完成數據庫的訪問實現的系統分布式的組件編程;通過JSP定制標簽庫構成模板,實現頁面內容和布局的分離。這個系統是全部利用JAVA編寫,而像Servlet、JSP等也基本上遵循JAVA的語法,因此非常方便。
參考文獻:
[1] 柳樹春,廖孟揚,王思賢,徐振勤. Browser/Server模式管理信息系統的設計與實現[J]. 計算機工程與應用,2002.06
[2] 常晉義,沈健. 基于J2EE的電子商務網構建技術及應用[J]. 計算機應用研究,2002.04
[3] Nicholas Kassem and the Enterprise Team.? Designing Enterprise Applications with the Java TM 2 Platform [J], Enterprise Edition Version 1.0.1 Final Release October 3.2000
[4] Khawar Zaman Ahmed,Cary E.Umrysh.? Developing Enterprise Java Application with
J2EE and UML [M]. 2002,Pearson Education,California,120-160
[5] Michael Girdley,Rob Woollen,Sandra L. Emerson.? J2EE Application and BEA WebLogic Server [M]. 2002,Prentice Hall PTR,American,1-36

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲一区观看| 亚洲第一福利社区| 黄色成人免费观看| 国产精品视频内| 国产精品大全| 欧美三级资源在线| 欧美日韩国产欧| 欧美日韩精品福利| 欧美另类高清视频在线| 欧美大片在线观看| 欧美国产第二页| 欧美粗暴jizz性欧美20| 蜜臀av性久久久久蜜臀aⅴ| 美女91精品| 免费在线成人| 欧美国产在线电影| 欧美激情视频给我| 欧美噜噜久久久xxx| 欧美日本高清一区| 欧美日韩三级| 国产精品久久久久国产精品日日| 欧美视频在线观看一区| 国产精品久久97| 国产精品自拍三区| 国产偷国产偷亚洲高清97cao| 国产亚洲午夜高清国产拍精品| 国产亚洲欧美日韩美女| 国内精品久久国产| 在线精品视频在线观看高清| 亚洲高清色综合| 亚洲精品在线免费观看视频| 亚洲久久一区| 在线综合亚洲| 亚洲欧美日韩一区二区三区在线观看 | 99精品欧美一区| 亚洲视频1区| 欧美亚洲视频在线观看| 久久精品91| 欧美高清一区| 国产精品福利在线观看| 国产情人节一区| 在线观看亚洲视频啊啊啊啊| 亚洲区国产区| 亚洲一区精品在线| 亚洲国产va精品久久久不卡综合| 亚洲精品在线三区| 午夜久久一区| 葵司免费一区二区三区四区五区| 欧美理论在线播放| 国产精品女主播一区二区三区| 伊人成人在线| 中国女人久久久| 欧美与黑人午夜性猛交久久久| 亚洲免费观看高清在线观看 | 欧美中文在线视频| 欧美不卡激情三级在线观看| 欧美日韩一区二区在线| 国产无遮挡一区二区三区毛片日本| 亚洲国产成人精品女人久久久| 在线视频一区二区| 欧美资源在线观看| 亚洲视频视频在线| 久久久亚洲影院你懂的| 欧美日韩综合精品| 韩国视频理论视频久久| 日韩一区二区精品视频| 欧美综合国产| 亚洲一区二区三区国产| 久久综合色婷婷| 国产精品嫩草99av在线| 亚洲国产欧美不卡在线观看| 亚洲综合另类| 日韩亚洲视频| 久久久夜精品| 国产精品美女一区二区在线观看| 在线日韩一区二区| 亚洲男人av电影| 亚洲午夜极品| 欧美11—12娇小xxxx| 国产精品亚洲综合| 亚洲美女视频在线观看| 久久国产日韩| 新67194成人永久网站| 欧美精品1区2区3区| 国内外成人免费激情在线视频网站| 一区二区日韩精品| 亚洲日本视频| 久久久久久久综合| 国产欧美大片| 亚洲图片激情小说| 亚洲午夜视频| 99精品欧美一区二区三区综合在线 | 亚洲黄色免费| 亚洲免费播放| 久久精品视频免费播放| 欧美三级视频在线| 亚洲国产日韩欧美在线99| 午夜视频在线观看一区| 亚洲男同1069视频| 欧美日韩国产va另类| 一色屋精品视频免费看| 亚洲欧洲av一区二区| 亚洲午夜精品一区二区三区他趣| 欧美成人性生活| 精品69视频一区二区三区| 午夜免费日韩视频| 午夜精品福利一区二区蜜股av| 欧美日本高清| 亚洲精品国产精品国产自| 亚洲国产精品久久久久秋霞蜜臀| 久久经典综合| 国产女人水真多18毛片18精品视频| 一区二区久久久久| 一本色道久久加勒比88综合| 女人香蕉久久**毛片精品| 激情校园亚洲| 亚洲电影免费在线| 麻豆精品视频在线观看| 一区二区三区在线免费播放| 性视频1819p久久| 欧美一区二区黄色| 亚洲欧美综合另类中字| 国产精品久久久久久久免费软件| 亚洲国产欧美久久| 亚洲麻豆国产自偷在线| 欧美成人免费全部| 亚洲黄色有码视频| 日韩亚洲国产欧美| 欧美欧美午夜aⅴ在线观看| 亚洲成在人线av| 午夜精品久久| 亚洲尤物视频网| 宅男噜噜噜66国产日韩在线观看| 免费亚洲电影在线观看| 1024成人网色www| 亚洲国产中文字幕在线观看| 女人天堂亚洲aⅴ在线观看| 在线看欧美视频| 亚洲人成网站在线观看播放| 欧美大片国产精品| 久久一区二区三区四区五区| 性欧美1819sex性高清| 欧美日韩综合视频网址| 一区二区毛片| 亚洲一区二区三区乱码aⅴ| 国产精品国产成人国产三级| 亚洲一区二区伦理| 欧美在线中文字幕| 伊人久久大香线蕉av超碰演员| 亚洲韩国青草视频| 欧美精品免费播放| 亚洲图片欧洲图片日韩av| 欧美在线亚洲一区| 伊人久久综合97精品| 亚洲免费av观看| 欧美香蕉视频| 欧美亚洲综合另类| 免费在线欧美视频| 一区二区精品在线观看| 欧美一区在线看| 在线免费不卡视频| 在线中文字幕一区| 国产日韩欧美精品综合| 亚洲国产日韩在线| 欧美日本簧片| 亚洲尤物在线| 裸体歌舞表演一区二区| 日韩亚洲欧美一区| 久久国产日韩| 亚洲精品久久久蜜桃| 先锋影音网一区二区| 一区二区三区在线视频播放 | 亚洲欧洲在线播放| 国产精品国产馆在线真实露脸| 欧美一区二区视频97| 欧美另类高清视频在线| 欧美亚洲专区| 欧美日韩一区二区欧美激情 | 一区二区成人精品| 巨乳诱惑日韩免费av| 9l视频自拍蝌蚪9l视频成人| 久久av二区| 亚洲人精品午夜| 久久精品国产99国产精品| 久久人人爽国产| 一本色道久久88亚洲综合88| 久久久天天操| 亚洲午夜日本在线观看| 欧美电影免费观看| 亚洲欧美日韩视频二区| 欧美日韩成人在线播放| 亚洲成色www久久网站| 欧美吻胸吃奶大尺度电影| 亚洲国产精品视频一区| 国产精品久久久一区麻豆最新章节 | 国产亚洲欧美激情| 亚洲一区二区免费看| 在线成人激情| 欧美在线不卡视频| 日韩午夜激情av|