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

基于SSH的網上超市系統的研究

2009-04-29 00:00:00鄭步芹,姜利群,張瑜慧
電腦知識與技術 2009年35期

摘要:該文首先對網上超市系統進行了需求分析,給出了相應的功能模塊;其次介紹了SSH整合框架相關技術;最后講解了SSH框架在網上超市系統中的具體應用。

關鍵詞:Struts2; Spring; Hibernate; MVC

中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2009)35-9957-02

Studies of on-line Supermarket System Based on SSH

ZHENG Bu-qin1,2, JIANG Li-qun1, ZHANG Yu-hui2

(1.College of Computer Science, China University of Mining and Technology, Xuzhou 221008, China; 2.Suqian College, Suqian 223800, China)

Abstract: This essay, firstly,through requirement analysis of the on-line supermarket system, gives the system functional modules, Secondly, introduces the related technologies of the SSH’s integrated framework,Finally , explains the detailed application of the Integrated framework in the on-line supermarket system.

Key words: struts2; spring; hibernate; MVC

隨著Internet的不斷發展,網上購物已成為一種時尚。電子商務的雙向信息溝通給消費者提供了更多選擇,靈活的交易手段為用戶帶來了更好的便利性。網上超市就是一個典型的電子商務系統。網上超市經營者可以以最快的速度將商品分類和上架。用戶可以不受時間和空間的限制,查看檢索商品的信息和購買商品。這種快速便利的交易方式,大大提高了企業的生產效益,降低了企業成本,有助于企業更快更好的發展。

1網上超市的總體分析和設計

1.1網上超市的需求分析

對于傳統超市,消費者購物,挑選、交換、比較購買商品。超市管理員要對商品進貨、分類和統計,對過期商品要進行相應的處理。網上超市不同于傳統超市,但也應能完成普通超市的一般功能。網上超市用戶可以分成兩種類型,一類是一般會員可以注冊更改用戶信息,查看和檢索商品信息、購買商品。一類是系統管理員,可以對會員信息進行管理,可以對商品進行增加、分類和統計。

1.2 網上超市的功能設計

根據需求分析可知,可以將網上超市系統可以分為前臺用戶模塊和后臺管理模塊。前臺用戶模塊可以分為:會員登錄注冊、商品瀏覽、商品查找、購物車、訂單查詢。后臺管理員管理模塊可以分為:會員管理、商品管理、訂單管理。功能模塊圖如圖1所示

商品管理:可以對商品查看、分類,增加、刪除、修改、統計等功能。

購物車管理:會員可以將選購商品放入購物車,同時還可以對購物車里的商品進行修改和刪除,確認購物后可以生成訂單。

會員管理:可以查看、修改、刪除用戶,及進行身份認證。

訂單管理:用戶可查詢訂單信息,管理員根據情況修改訂單。

2 系統的相關技術

2.1 MVC模式

MVC這個概念是由SmallTalk開發社區提出來的,它是第一個分開表示邏輯和業務邏輯的設計模式。MVC引入View視圖(表示層)、Model模型(數據)和協調兩者的Controller控制器。在MVC模式下,在客戶端用戶通過表單等手段和視圖進行交互,確認后將事件傳給控制器??刂破髟谑盏绞录髮κ录M行初步處理,選擇發給哪一個模型,通知該模型層進行相應的更行。模型更新后將更新的結果再反饋給視圖,進而最后再向用戶反饋。如圖2所示 。

MVC設計模式是一種用于分離數據維護和數據表現的方法,在J2EE中引入MVC設計模式,有助于把應用劃分為合理的組件,從而可以方便的進行系統的開發、維護和擴充[1]。

2.2 Struts框架

Struts是基于Sun公司J2EE平臺的MVC框架。Struts框架完全采用Java語言編寫,在編寫時調用了標準的J2EE API,因此具有“一次編寫,隨處運行”的優點。同時,它繼承了MVC設計模式的各種特性。Struts基本組件包括控制器組件、模型組件和視圖組件。Struts的控制器組件負責接收用戶請求、更新模型、以及選擇合適的視圖組件返回給用戶??刂破鹘M件有組于分離模型層和視圖層,有了這種分離,就可以在同一個模型的基礎上開發多種類型的視圖。Struts把Servlet、JSP和自定義標簽和信息資源整合到一個統一的框架中,開發人員利用其進行開發時,不再自己編寫全套的MVC模式,極大地節省了時間。

2.3 Hibernate框架

Hibernate框架是一個面向Java開發平臺的對象/關系數據庫映射工具,并且是開源的O/R Mapping框架。Hibernate使Java程序員可以隨心所欲地使用對象思想來操作數據庫,提供了數據查詢和獲取數據的方法,可以大幅度減少開發時人工使用SQL和JDBC處理數據的時間,使開發人員專注于應用程序的對象和功能,而不必擔心如何保存它們或如何找到它們[2]。

2.4 Spring框架

Spring框架是一個開放源碼的應用程序框架,是惟一處理典型的J2EE應用程序所有結構層的,也是惟一提供輕量級容器連同全方面服務的。Spring包含了控制反轉的容器,面向方面編程的框架,數據訪問的抽象,DBC的簡化,事務管理,MVC Web框架,與JNDI、JTA和其它J2EE API 合作化的簡化,輕量級的遠程處理等模塊。Spring與Struts、Hibernate等單層框架不同,Spring致力于以一致的、高效的方式構造整個應用程序,將單層框架的最佳組合糅合在一起建立一個連貫的體系結構[3]。

3 SSH框架

3.1 SSH框架思想

根據前面對Struts2、Spring和Hibernate三個框架的分析,利用其在不同層次上的應用特點,網上超市系統可以采用多層架構模式,從上到下依次為表示層、業務邏輯層、數據持久化層和域模型層,如圖2 所示。采用Struts來實表示層,主要是struts擁有完善的標簽庫和對MVC模式的良好實現。Hibernate來實現數據持久層,主要是Hibernate通過一種對象和數據庫中的關系表的映射機制實現了真正的面向對象編程。Spring是基于IoC和AOP的框架,具有良好的模塊化,Spring能有效地組織中間層對象,易于同其他View框架無縫集成,將各種專用框架整合成一個連貫的整體構架。

表示層、業務邏輯層、數據持久化層和域模型層,這四層之間的依賴關系是自上而下的,即上層可以依賴下層,而下層不應對上層有依賴或盡量減少對上層的依賴。例如,在系統中使用Hibernate來實現持久化層,若要采用其他機制實現持久化層,不需要改動業務邏輯中的代碼。

3.2 SSH框架的整合

1) Struts和Spring 整合

Struts和Spring 整合有多種手段,本系統里采用的是把Spring作為Struts的一個插件實現的。通過Struts的配置文件配置的,如下所示:

2) Spring和Hibernate的整合

Spring和Hibernate的整合是在Spring配置Session工廠實現的。Spring對Hibernate的SessionFactory事務管理進行了封裝,使得開發人員能夠更簡潔的應用Hibernate。通過Spring的配置文件配置的,如下所示:

<!-- 數據映射配置 – ->

user.hbm.xml

3.3 SSH 在網上超市的系統中的實現

網上超市系統由會員注冊登錄、商品瀏覽查詢、我的購物車等部分組成。由前分析可知SSH架構將系統分為表示層、業務邏輯層、數據持久化層和域模型層四層結構,鑒于篇幅有限,下面我們以會員管理模塊為例講解SSH的各個層次在系統中的具體實現。

3.3.1 域模型層

域模型層,主要完成關系表和類對象之間映射的建立。在Hibemate數據持久化解決方案中,數據訪問層主要包括一個與數據庫表對應的持久化對象 (Persistentobject,簡稱PO)和一個描述數據庫表與PO映射關系的資源文件*.hbm.xml,這樣,以后對數據庫表的操作也就變成了對這些POJO的操作。

1) 持久化對象(Persistentobject)

持久化對象(Persistentobject)是介于具體應用和數據庫之間的一層數據,負責應用和數據庫之間的交互。持久化對象用來維護數據庫表的記錄,它是一個完全符合JavaBean規范的純Java對象,屬性通過getter和setter方法訪問,對外隱藏了內部實現的細節。

會員管理需要涉及會員信息表(user),該表包含會員ID、會員名稱、密碼等信息。下面我們給出User.java文件

public class User {private Long id;

/*會員表中其它字段*/

public Long getId() { return id;}

public void setId(Long id) { this.id = id;}

/*其它getter和setter方法*/}

2) 0/R映射文件

下面是以會員信息User實體為例,講解映射文件描述數據庫表字段與持久化類的屬性的映射關系,如代碼示例所示。

User.hbm.xml代碼

/*在持久化類User和表User之間映射關系。下面進行的是在持久化類User的屬性和表User的字段建立一一對應的映射。 */

/*其它持久化類的屬性和表的字段的一一映射*/

3.3.2 數據持久層實現

數據持久層使用數據訪問對象(Data Access Object,簡稱是DAO)來抽象和封裝所有對數據源的訪問。

DAO主要是實現對持久化類的插入、查詢、更新、刪除操作。一般一個持久化對象使用一個獨立的DAO接口和一個對接口的實現,下面是會員管理中的會員信息的DAO對其接口的具體實現,代碼如下所示。

UserDAOIpml.java代碼

public class UserDAOImpl extends HibernateDaoSupport implementsUserDAO

{@SuppressWarnings(\"unchecked\")

public List listUserById(Long UserId)

{/*將用戶信息按升序顯示*/}

/* 其他操作*/}

3.3.3 表示層實現

表示層是Web應用系統與用戶交互的窗口,負責管理用戶的請求和響應,并提供一個控制器將調用委托到業務邏輯和其他上游處理,包括視圖部分和控制部分,具體是指JSP頁面,以及對客戶請求進行處理的自定義Action等部分。

1) 控制器Action:Action充當了控制器的角色,用于頁面邏輯處理,分發數據,鏈接轉向。會員管理中的顯示所有用戶頁面邏輯處理類功能都放在listUser.java文件中。

public class ListUser extends ActionSupport{}

2) 視圖:視圖簡單的說就是用戶所看到的JSP頁面。本系統中,頁面采用了Struts標簽。會員管理涉及諸多的頁面,如會員的添加、修改、刪除、等頁面,因代碼比較長,我們就不在此列出。

3) Struts.xml配置:顯示所有用戶信息的Action在Struts.xml配置文件的配置代碼如下所示

listUser.jsp

3.3.4 業務邏輯層實現

業務邏輯是整個系統中比較復雜的部分,可以說是一個核心部分。業務處理代碼主要包括xxxservice接口與其實現類xxxserviceImpl。例如會員管理的業務邏輯代碼UserService接口和其實現類UserserviceImpl構成。UserService接口定義了針對問題信息的相關業務操作,具體實現則由UserServiceImpl完成。

下面給出顯示所有會員信息action在配置文件applicationContext.xml中的配置代碼:

4 總結

利用J2EE中的Struts2+Spring+Hibernate的輕量級框架實現MVC模式是當前比較流行的一種技術。該整合框架能夠很好的將網上超市系統分成表示層、業務邏輯層、數據持久化層和模域層。Struts框架應用在表示層的框架,用于完成表現層的表現邏輯和業務邏輯;Hibernate框架應用在數據持久化層,實現關系數據庫的對象化;Spring框架應用于各層關聯,完成持久訪問對象的注入和業務邏輯的事務管理。通過這種分層處理,使得系統系統的結構清晰,各層次之間獨立,模塊劃分明確,降低了MVC設計難度,提高了系統的開發效率。

參考文獻:

[1]李金娟.基于JSP的MVC開發模式在訪問數據庫中的應用[J].寧夏師范學院學報,2008(3).

[2] 楊少波.J2EE項目實訓-Hibernate框架技術[M].北京:清華大學出版,2008.

[3] 張恒汝.精通Eclipse整合Web開發[M].北京:人民郵電出版社,2008.

主站蜘蛛池模板: 亚洲无码视频图片| 欧洲亚洲欧美国产日本高清| 久久久成年黄色视频| 91精品啪在线观看国产| 人妻精品久久无码区| 精品少妇人妻一区二区| 真人免费一级毛片一区二区| 亚洲一区免费看| 中文字幕久久亚洲一区| 伊人久久青草青青综合| 亚洲黄网在线| 四虎永久在线视频| 丁香综合在线| 国产精品部在线观看| 欧美第二区| 国产91丝袜| 亚洲AⅤ无码国产精品| 国产在线自揄拍揄视频网站| 国产精品性| 午夜日韩久久影院| 一本大道香蕉高清久久| 99久久精品国产精品亚洲| 一本一道波多野结衣一区二区 | 欧美日韩久久综合| 成人福利在线看| 91麻豆国产视频| 思思热在线视频精品| 亚洲69视频| 五月婷婷丁香综合| 在线色国产| 一级成人欧美一区在线观看| 在线不卡免费视频| 亚洲精品高清视频| 青青草a国产免费观看| 国产精品所毛片视频| 亚洲精品第五页| 黄色国产在线| 国产一区二区三区在线精品专区| 亚洲色图欧美视频| 亚洲精品福利视频| 国产产在线精品亚洲aavv| 精品少妇人妻无码久久| 国产成人一区| 中日韩一区二区三区中文免费视频| 色一情一乱一伦一区二区三区小说| 亚洲国产在一区二区三区| av天堂最新版在线| 久久国产精品影院| 99re热精品视频中文字幕不卡| 欧美精品1区| 国产乱人伦精品一区二区| 久久77777| 久青草免费视频| 国产精品部在线观看| 成人国产精品一级毛片天堂| 亚洲丝袜中文字幕| 澳门av无码| 一级片免费网站| 亚洲av片在线免费观看| 天堂成人在线视频| 国产精品高清国产三级囯产AV| 欧美色视频在线| 国产在线一区二区视频| av手机版在线播放| 亚洲国产高清精品线久久| 国产中文在线亚洲精品官网| 色综合中文| 538精品在线观看| 国产精品自拍合集| 免费av一区二区三区在线| av在线手机播放| 99爱视频精品免视看| 国产玖玖视频| 草草影院国产第一页| 无码免费视频| 亚洲区视频在线观看| 免费观看国产小粉嫩喷水| 亚洲第一天堂无码专区| 97国产一区二区精品久久呦| 巨熟乳波霸若妻中文观看免费| 欧美精品亚洲精品日韩专区va| 日韩a在线观看免费观看|