《電子技術應用》
您所在的位置:首頁 > 其他 > 業界動態 > 基于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亚洲国产精品_日韩亚洲一区二区
欧美精品一区二区高清在线观看| 国产欧美日韩在线播放| 亚洲欧美福利一区二区| 亚洲精品日韩激情在线电影| 久久精品成人一区二区三区蜜臀| 亚洲欧美国产视频| 亚洲一级在线| 亚洲一区二区三区乱码aⅴ蜜桃女| 99riav国产精品| 99伊人成综合| 亚洲美女黄色片| 久久久久一区二区三区| 亚洲欧美在线免费| 亚洲午夜视频在线| 亚洲一区亚洲二区| 亚洲欧美电影院| 午夜精品一区二区三区在线| 午夜精品久久久久99热蜜桃导演| 亚洲天堂av在线免费观看| 中文有码久久| 亚洲欧美精品| 欧美亚洲一区三区| 久久久www成人免费毛片麻豆| 久久天堂成人| 男同欧美伦乱| 欧美激情一区二区三区| 欧美日韩一区不卡| 国产精品久久一级| 国产亚洲福利一区| 伊大人香蕉综合8在线视| 亚洲国产va精品久久久不卡综合| 亚洲激情欧美| 亚洲视频在线观看视频| 午夜精品久久久久| 亚洲高清在线观看| av成人免费在线| 亚洲欧美日韩国产综合| 久久国产色av| 欧美成人资源网| 国产精品国产三级国产 | 欧美xart系列高清| 欧美日韩精品伦理作品在线免费观看| 亚洲成人资源| 亚洲免费观看| 亚洲综合国产精品| 亚洲电影免费观看高清完整版在线观看 | 久久综合伊人77777| 欧美黄色影院| 国产精品试看| 伊人成综合网伊人222| 99精品国产在热久久| 香蕉精品999视频一区二区| 亚洲精品乱码久久久久久蜜桃麻豆 | 国产精品社区| 亚洲第一区在线观看| 正在播放欧美一区| 亚洲国产日韩综合一区| 亚洲一区视频在线| 噜噜噜噜噜久久久久久91| 欧美午夜精品久久久久久人妖| 国精品一区二区| 一本色道久久综合精品竹菊 | 免费在线观看精品| 国产精品一区二区男女羞羞无遮挡| 激情亚洲网站| 亚洲夜间福利| 亚洲黄色在线看| 欧美一区二区精品久久911| 欧美国产激情二区三区| 国产欧美欧美| 亚洲六月丁香色婷婷综合久久| 香蕉久久国产| 亚洲伊人第一页| 免费观看在线综合色| 国产久一道中文一区| 亚洲精品综合精品自拍| 久久精品国产精品亚洲| 亚洲免费在线视频| 欧美电影在线播放| 国产在线日韩| 亚洲制服av| 亚洲小说区图片区| 欧美精品一区二| 伊人蜜桃色噜噜激情综合| 亚洲天堂免费观看| 在线午夜精品| 欧美成人免费网| 狠狠色丁香婷婷综合影院| 亚洲一区二区三区高清| 亚洲视频自拍偷拍| 欧美风情在线观看| 伊人成人开心激情综合网| 午夜欧美电影在线观看| 亚洲午夜免费福利视频| 欧美国产一区视频在线观看| 国产一区在线免费观看| 性欧美1819性猛交| 午夜精品久久久久久久| 欧美视频日韩视频| 亚洲精品之草原avav久久| 亚洲日本aⅴ片在线观看香蕉| 久久久久成人精品免费播放动漫| 国产精品资源在线观看| 亚洲午夜日本在线观看| 亚洲影院在线| 欧美色大人视频| 亚洲美女福利视频网站| 亚洲狼人精品一区二区三区| 欧美暴力喷水在线| 亚洲大胆人体视频| 最新国产成人av网站网址麻豆| 久久综合色综合88| 在线观看精品| 亚洲人永久免费| 欧美福利网址| 亚洲国产一二三| 日韩性生活视频| 欧美精品免费视频| 亚洲免费成人av| 一区二区久久| 国产精品都在这里| 亚洲女与黑人做爰| 久久成人在线| 含羞草久久爱69一区| 久久国产精品一区二区| 久久久亚洲精品一区二区三区| 国产亚洲综合精品| 亚洲成人在线视频网站| 久色成人在线| 亚洲激情av在线| 一区二区福利| 欧美深夜福利| 亚洲综合精品一区二区| 久久福利电影| 樱花yy私人影院亚洲| 亚洲人成网站777色婷婷| 欧美黄污视频| 艳妇臀荡乳欲伦亚洲一区| 亚洲综合三区| 国产一区二区三区四区hd| 久久精品国产综合| 欧美激情导航| 亚洲视频成人| 久久精品国产999大香线蕉| 国产主播一区二区三区| 亚洲国产精品一区在线观看不卡 | 亚洲精品在线观| 欧美日韩综合久久| 亚洲综合精品| 老牛影视一区二区三区| 亚洲日本中文字幕区| 亚洲欧美日韩一区二区三区在线| 国产欧美日韩另类视频免费观看| 欧美中日韩免费视频| 欧美成人一区二区在线| 一区二区三区四区国产精品| 久久av老司机精品网站导航| 亚洲电影免费观看高清完整版在线 | 欧美电影在线播放| 在线亚洲一区| 久久久久久久久久久久久女国产乱| 亚洲国产精品久久| 亚洲欧美成人网| 欲色影视综合吧| 亚洲一区二区免费在线| 国产一区二区三区免费在线观看 | 亚洲激情午夜| 欧美性色综合| 久久精品导航| 欧美午夜久久久| 亚洲国产精品久久精品怡红院| 欧美日韩视频一区二区三区| 性欧美超级视频| 欧美美女日韩| 欧美中文字幕视频| 欧美性大战久久久久久久| 久久国产天堂福利天堂| 欧美日韩亚洲一区二区| 欧美中文字幕精品| 国产精品99一区二区| 亚洲国产经典视频| 国产精品二区三区四区| 亚洲国产欧美在线| 国产精品欧美日韩| 日韩午夜电影| 黑人巨大精品欧美一区二区小视频| 亚洲视频一区二区免费在线观看| 韩日视频一区| 欧美一级成年大片在线观看| 亚洲欧洲中文日韩久久av乱码| 久久精品国产亚洲精品 | 亚洲精品四区| 国产一区二区三区久久悠悠色av| 亚洲社区在线观看| 激情欧美一区二区三区| 欧美一区二区三区在线播放| 亚洲毛片在线| 牛牛精品成人免费视频| 午夜精品一区二区三区在线| 欧美三级午夜理伦三级中文幕 |