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

基于MVC模式和Java EE技術網上書店的設計與實現

2014-07-25 11:29:04薛倩
微型電腦應用 2014年8期
關鍵詞:數據庫系統

薛倩

基于MVC模式和Java EE技術網上書店的設計與實現

薛倩

網上書店作為電子商務的一種,與傳統的店面書店相比,其經營方式和銷售渠道表現出很多優勢,為此進行網上電子書店的設計與實現。為了程序的易維護性和可擴展性,結合網上交易系統的特點,采用模式視圖控制器(MVC)設計模式,使之適用于Java EE(企業版)技術來進行項目的開發。根據企業需求分析,進行系統功能結構設計,以系統開發技術應用和購物車的實現為例,詳盡介紹了網上書店的設計與開發方法。

MVC模式;Java EE技術;網上書店;購物車;JSP標準標簽庫;JNDI技術

0 引言

基于Internet的信息服務,商務服務已經成為現代企業不可缺少的一項服務。很多企業都已不滿足于建立一個簡單的僅僅能夠發布信息的靜態網站[1]。現代企業需要的是一個功能強大的,能提供完善的電子商務服務的動態商務網站。網上書店作為電子商務的一種,與傳統的店面書店相比,其經營方式和銷售渠道表現出很多優勢。首先,它不受傳統購物的諸多限制,24小時全天候、全方位服務是店面書店所不能企及的。其次商家可以通過網絡拉近與消費者的距離、迅速增加所擁有的消費群,同時對于消費者可以擴大選擇面,足不出戶通覽互聯網上的書籍信息,盡情享受購書樂趣,體現了個性化的購物過程。第三,成本低廉是網上電子書店的顯著優點。網上購書減少了商品流通的中間環節,節省了大量的開支,從而也大大降低商品流通和交易成本。加之與其他網上交易相比,購書過程易于判斷和選擇,書籍的運送不易破損,不具時效性等特點,更加明確了網上書店的優勢。網上交易平臺對書籍銷售企業具有重要的意義,為此研究能夠實現簡單電子商務的小型動態商務網站——網上電子書店交易系統。

1 開發技術選擇及介紹

1.1 開發技術選擇

很多網上交易系統是由JSP(Java Server Pages)技術完成的,仔細分析發現JSP技術存在弊端。最突出的問題是代碼和業務邏輯混淆在一起,彼此嵌套,難以對項目進行有效的維護和擴展。例如,使用JSP技術編寫的程序,其JSP頁面直接訪問數據庫,如果數據庫中表的名稱改變了,需要改寫所有的訪問語句;同時程序中所有的頁面都需要美工進行美化,這樣一來,當網站業務需求發生變化的時候,對于程序員和美工都是一個很重的負擔。因此,為了使程序具有維護性和可擴展性,結合網上交易系統的特點,本文采用MVC(Model View Controller)設計模式,使用適用于Java EE(Java Platform,Enterprise Edition)技術來進行項目的開發。

1.2 系統開發技術介紹

1.2.1 MVC設計模式和Java EE技術

所謂設計模式是一套被反復使用、多數人知曉的、代碼設計經驗的總結[2],設計模式的作用是為了可重用代碼、讓代碼更容易被他人理解、保證代碼可靠性。MVC設計模式可應用到某種應用開發中,由模型、視圖、控制器3個模塊組成。Java EE開發技術就是基于MVC設計模式的應用,其中模型代表應用程序狀態和業務邏輯,進行業務操作和訪問數據庫,對應的組件是JavaBean。視圖提供可交互的客戶界面,向客戶顯示模型數據,對應的組件是JSP或HTML文件。首先,控制器根據客戶的請求來操縱模型,并把結果經由視圖展現給客戶,對應的組件是Servlet。Java EE開發技術優點在于3個層各盡其責、互不干涉,如果哪一層的需求發生變化只需要更改相應層的代碼,而不影響其他層。其次,由于按層把系統分開,有利于實現開發中的分工。第三是把顯示和數據分離,增加了各模塊的可重用性。MVC訪問模式如圖1所示:

圖1 MVC訪問模式

Java EE體系架構采用傳統的MVC設計模式,支持企業級應用開發,簡化企業解決方案的開發、部署和管理等復雜問題,事實上,Java EE已經成為企業級開發的工業標準和首選平臺[3]。

1.2.2 Servlet

Servlet是一個Java程序,是在服務器上運行以處理客戶端請求并做出響應的程序[4]。我們使用Web容器構建電子商務應用程序時,一般使用的是Web HTTP請求,構建的Servlet不需要提供Servlet接口,只要繼承HttpServlet類就行了,繼承了HttpServlet的類就是一個可在Servlet引擎Web服務器里面運行的小應用程序。用來接收客戶請求,并做出響應的Java程序,Servlet是中間件技術的重要部分,它控制著其他的組件。

Servlet編程基本模式:首先處理Get和Post請求,其次Servlet接收數據,最后根據結果,轉向其他頁面或資源。Servlet的生命周期由Servlet容器控制,如Tomcat就是一個Servlet容器。

1.2.3 JSP標準標簽庫

JSP標準標簽庫簡稱為JSTL(Java Server Pages Standard Tag Library),輔助JSP顯示動態內容的標準標簽庫。JSTL提供的標準標簽有包含通用標簽、條件標簽、迭代標簽的核心標簽庫和SQL標簽庫等,可用于編寫各種動態JSP頁面和訪問數據庫。比如使用setDataSource標簽定義數據源的代碼為,<sql:setDataSource driver="driverClass" url= "databaseURL" user="username" password= "userpass" var= "datasource"/〉 1.2.4 JNDI(Java Naming and Directory Interface)技術

企業級開發需要穩健和高效的數據訪問層[5],而傳統的數據庫連接技術已經無法滿足需求,而且需要打開連接,操作數據庫,關閉連接等多次重復操作。JNDI技術可以給應用程序提供可靠的已連接好的空閑連接。JNDI是一組在Java應用中訪問命名和目錄服務的應用程序編程接口(API),其javax.naming.Context接口提供了查找JNDI Resource的接口,該接口的lookup()方法獲得數據源。得到數據源DataSource對象后,javax.sql.DataSource接口負責建立與數據庫的連接,可以通過DataSource的getConnection()方法獲得數據庫連接對象Connection,把連接保存在連接池中。連接池是由容器提供的,用來管理池中連接對象。JNDI技術進行數據連接的工作過程如圖2所示:

圖2 JNDI技術進行數據連接的工作過程

2 系統功能結構設計和開發環境

2.1 系統功能結構設計

系統的功能是建立簡單小型動態網上購書網站。根據網站功能需求,系統設計的主要功能模塊包括書籍展示、書籍詳情、購物車、購物結算、用戶認證注冊等內容。書籍展示顯示了所有書籍的列表及概要信息,并可以根據需要選擇其中一本,鏈接到書籍詳情。書籍詳情頁面將詳細介紹書籍的作者、出版時間、摘要等相關信息。購物車是網上書店功能結構中的核心[6],通過購物車可以將需要購買的書籍依次添加進來,直至最終實現購物結算功能。除了以上基本功能模塊,網上書店可以根據需要拓展、增加其他功能模塊,比如留言板、新書推薦等。

2.2 開發環境

系統采用B/S結構,以Apache Tomcat 7.0作為應用服務器,SQL Server 2005作為數據庫服務器,使用集成開發工具MyEclipse8.0,基于MVC模式和Java EE技術進行網絡應用程序的開發,以JNDI技術連接訪問數據庫。

3 系統開發技術應用舉例

3.1 使用Servlet實現電子書店用戶認證

用戶輸入用戶名和密碼進行用戶認證,如果用戶名或密碼錯誤,返回到登錄頁面login.jsp,否則顯示驗證成功頁面success.jsp,Servlet主要代碼如下所示:

public class AuthenticationServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

String userName=request.getParameter("userName");

String userPass=request.getParameter("userPass");

if (userName == "accp" && userPass == "123")

response.sendRedirect("success.jsp");

else

response.sendRedirect("login.jsp ");

}

}

3.2 使用JSTL中update標簽進行數據更新應用

使用帶參數的update標簽設置數據源,設置SQL語句,param標簽的功能是用來設置相關參數,數據庫名稱為“books”。主要代碼如下所示:

<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%〉

<%@taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%〉

<sql:setDataSource driver="com.microsoft.jdbc.sqlserver.SQLServerDriver"

url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName= books"

user="sa" password="sa" var="conn"/〉

<sql:update var="order" dataSource="${conn}"〉

insert into BookOrder(username,zipcode,phone,creditcard,total)

values(?,?,?,?,?)

<sql:param value='${param["username"]}'/〉<sql:param value='${param["zipcode"]}'/〉<sql:param value='${param["phone"]}'/〉

<sql:param value='${param["creditcard"]}'/〉

<sql:param value='${100}'/〉

</sql:update〉

3.3 使用JNDI獲取連接數據庫對象

除了編寫代碼外,還要進行JNDI配置,主要包括Tomcat的conf/context.xml中的配置、加入數據庫驅動文件、應用程序的web.xml文件的配置等。主要代碼如下所示:

public List getTitles() {

try {

Context ic = new InitialContext();

DataSource source

=(DataSource)ic.lookup("java:comp/env/jdbc/books");

Connection connection = source.getConnection();

titlesQuery = connection.prepareStatement("SELECT * FROM titles ");

ResultSet results = titlesQuery.executeQuery();

}

4 系統核心—購物車實現

購物車的實現是該項目的核心,根據MVC設計模式進行購物車設計,主要包括3個部分:1.購物車中對象的設計;2.編寫Servlet實現添加書籍到購物車;3.編寫JSP實現查看購物車的書籍列表。

4.1 購物車中對象的設計

首先設計MVC中的模型,購物車中的對象主要包括購買的書籍本身信息和購買數量,將兩項屬性封裝為名為CartItemBean的模型JavaBean,主要代碼如下所示:

public class CartItemBean implements Serializable {

private BookBean book;

private int quantity;

public CartItemBean(BookBean bookToAdd, int number)

{

book = bookToAdd;

quantity = number;

}

public BookBean getBook() {

return book;

}

public void setQuantity(int number) {

quantity = number;

}

public int getQuantity() {

return quantity;

}

}

4.2 編寫Servlet實現添加書籍到購物車

購物車Servlet功能是根據客戶請求,實現添加書籍到購物車。首先獲得session對象,并從session中取出BookBean對象,然后創建HashMap對象,并添加一個條目到Map中。…

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

HttpSession session = request.getSession(false);

RequestDispatcher dispatcher;

if (session == null) {

dispatcher = request.getRequestDispatcher("/../books.jsp");

dispatcher.forward(request, response);

}

Map cart = (Map) session.getAttribute("cart");

BookBean book = (BookBean) session.getAttribute("bookToAdd");

if (cart == null) {

cart = new HashMap();

session.setAttribute("cart", cart);

}

CartItemBean cartItem = (CartItemBean) cart.get(book.getISBN());

if (cartItem != null)

cartItem.setQuantity(cartItem.getQuantity() + 1); else

cart.put(book.getISBN(), new CartItem-Bean(book, 1));

dispatcher = re

quest.getRequestDispatcher("/../viewCart.jsp");

dispatcher.forward(request, response);

}

4.3 編寫JSP實現查看購物車的書籍列表

Servlet根據數據處理的結果,通過MVC中視圖JSP,向客戶顯示模型數據,顯示購物車內商品。顯示購物車內書籍的JSP頁面主要代碼如下所示:

Map cart = (Map) session.getAttribute("cart");

Set cartItems = cart.keySet();

Object[ ] isbn = cartItems.toArray();

BookBean book;

int i = 0;

while (i < isbn.length) {

cartItem = (CartItemBean)

cart.get((String)isbn[i]);

book = cartItem.getBook();

i++;

}

5 總結

系統基于MVC模式,采用Tomcat作為應用服務器,使用JNDI技術獲取連接對象訪問數據庫,根據企業需求分析,進行系統功能結構設計,對系統所使用的開發技術進行舉例,完成系統核心—購物車的實現,詳盡介紹了基于Java EE技術完成網上書店的設計與開發方法。系統能夠提供書籍展示、書籍詳情、購物車、購物結算、用戶認證注冊等功能,且具有訪問速度快,安全可靠,易于維護和管理的特點。

[1] 鮑振軍,趙武,榮先奎.利用JavaEE構建創新型企業管理系統[J].機械設計與制造.2011,(2):229-233.

[2] 徐東風,曹維,廖俊杰.基于MVC模式的實驗室儀器管理系統設計[J].實驗室研究與探索.2010,29(8):101-104.

[3] 陳俊杰,趙春勝,高靜.基于JavaEE架構的可定制審計系統的設計與實現[J].內蒙古農業大學學報(自然科學版).2012,33(4):37-40.

[4] 靳大尉,趙成,陳剛.統一權限管理下的Web應用管理平臺[J].計算機應用.2013,33(s2):305-306,311.

[5] 張海營.基于物聯網的圖書館館藏推薦服務平臺構建[J].圖書館雜志.2013,(12):33-37.

[6] 劉冰,李正凡.基于Struts擴展框架的Web應用研究[J].計算機應用.2008,28(10):221-224.

Design and Implementation of Online Bookstore Based on MVC Model and Java EE Technology

Xue Qian
(Shaanxi College of Communication Technology, Xi’an 710018, China)

Business service has become a modern enterprise indispensable service. Online bookstore is a kind of electronic com-merce. Compared with the traditional storefront bookstore, online bookstore’s mode of operation and sales channels shows many advantages, so we design and realize the online bookstore system. For the sake of program maintainability and scalability, combined with the characteristics of online trading system, this paper adopts MVC design pattern and uses Java EE technology which is suitable for enterprise application to carry on the project. According to the analysis of business needs, the system function structure is designed. Design and development method of online bookstore is introduced in great detail for application system development technology and shopping cart implementation.

MVC Pattern; Java EE Technology; Online Bookstore; Shopping Cart; JSTL; JNDI Technology

TP311

A

2014.07.20)

國家自然科學青年基金項目(41102107)

薛 倩(1978-)女,河南焦作,陜西交通職業技術學院,講師,工學碩士,研究方向:交通信息工程、圖形處理與模式識別,西安,710018

1007-757X(2014)08-0014-04

猜你喜歡
數據庫系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
數據庫
財經(2017年15期)2017-07-03 22:40:49
數據庫
財經(2017年2期)2017-03-10 14:35:35
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
主站蜘蛛池模板: 97av视频在线观看| 亚洲日韩精品伊甸| 国产精品私拍99pans大尺度 | 99青青青精品视频在线| 国产在线视频导航| 黄色网站在线观看无码| 久久青草免费91观看| 最新国产精品第1页| 国产在线视频欧美亚综合| 米奇精品一区二区三区| 国产在线无码一区二区三区| 国产亚洲精品97AA片在线播放| 国产在线观看第二页| 中文字幕亚洲电影| 亚洲色图狠狠干| 香蕉eeww99国产精选播放| 特级欧美视频aaaaaa| 国产视频a| 五月天久久婷婷| 19国产精品麻豆免费观看| 色一情一乱一伦一区二区三区小说| 国产SUV精品一区二区| 91精品国产自产91精品资源| 国产精品美女网站| 夜夜爽免费视频| 日韩毛片在线播放| 国产在线观看一区精品| 亚洲中文字幕无码爆乳| 成人免费一级片| 亚洲有无码中文网| 亚洲精品中文字幕午夜| 在线看片免费人成视久网下载| 亚洲成aⅴ人片在线影院八| 日本精品中文字幕在线不卡| 精品小视频在线观看| 国产一区二区三区免费观看| 亚洲日韩精品综合在线一区二区| 欧美在线网| 亚洲综合色婷婷| 日本在线亚洲| 成人亚洲天堂| 中文字幕亚洲综久久2021| 91在线一9|永久视频在线| 久久综合丝袜长腿丝袜| 国产精品第一区| 国产色婷婷| 欧美日韩中文国产va另类| 无码AV日韩一二三区| 成人国产三级在线播放| 久久semm亚洲国产| 视频在线观看一区二区| 日本黄色a视频| 91青青草视频在线观看的| 亚洲女同欧美在线| 国产精品不卡永久免费| 久久男人资源站| 欧美色99| 欧美色伊人| 中文无码精品a∨在线观看| 国产啪在线91| 国产精品女熟高潮视频| 久久五月天国产自| 国产成人综合欧美精品久久| 国产99视频精品免费视频7 | 亚洲h视频在线| 亚洲 欧美 偷自乱 图片 | 玖玖精品视频在线观看| 无套av在线| 国产亚洲美日韩AV中文字幕无码成人| 国产va免费精品观看| 国产亚洲欧美日韩在线观看一区二区 | 亚洲,国产,日韩,综合一区| 亚洲成肉网| 在线观看无码av免费不卡网站| 色综合五月| 18黑白丝水手服自慰喷水网站| 精品精品国产高清A毛片| 99久久人妻精品免费二区| 久久亚洲国产一区二区| 亚洲高清资源| 国产成人乱无码视频| 久久久久夜色精品波多野结衣|