SSH框架开发起步的最好例子

  • 格式:doc
  • 大小:1.59 MB
  • 文档页数:23

下载文档原格式

  / 23
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、添加商品到购物车

开发步骤:

1) 创建数据库表及进行反向工程

2) 创建购物车模型

3) 编写DAO 层

4) 编写Service 层

5) 编写Action 层

6) 编写struts 和Spring 配置文件

7) 编写JSP 页面

具体操作如下:

1. 创建数据库表

订单表(orders),包含3 个字段:orderid(订单编号),userid(用户表的关联字段),orderdate(订单日期)

订单项表(orderitem),包含4 个字段:orderitemid(订单项编号),

orderid(与订

单表关联字段),bookid(与图书表关联字段),quantity(数量)

进行两张表的反向工程,生成响应的POJO 和hbm.xml 文件。

2. 创建购物车模型

创建购物车模型购物车模型Cart

Cart.java 代码如下:

package com.sxjiang.bookstore.model;

import java.util.HashMap;

import java.util.Iterator;

import java.util.Map;

import com.sxjiang.bookstore.vo.Orderitem;

public final class Cart {

protected Map items;

public Cart(){

if(items==null) {

items=new HashMap();

}

}

public void addBook(Integer bookid,Orderitem orderitem){

if(items.containsKey("bookid")){

Orderitem _orderitem=items.get(bookid);

_orderitem.setQuantity(_orderitem.getOrderitemid()+orderite m.getQ

uantity());

items.put(bookid, _orderitem);

}

else{

items.put(bookid, orderitem);

}

}

public void updateCart(Integer bookid,int quantity){ Orderitem orderitem=items.get(bookid);

orderitem.setQuantity(quantity);

items.put(bookid, orderitem);

}

public int getTotalPrice(){

int totalPrice=0;

for(Iterator it=items.values().iterator();it.hasNext();){ Orderitem orderitem=(Orderitem)it.next();

Book book=orderitem.getBook();

int quantity=orderitem.getQuantity();

totalPrice+=book.getPrice()*quantity;

}

return totalPrice;

}

public Map getItems() {

return items;

}

public void setItems(Map items) {

this.items = items;

}

}

3. DAO

DAO 层主要的类为BaseDAO 类,IBookDAO 接口和BookDAO 类。在IBookDAO 中定义了

getBookById()方法,通过这个方法可以根据id 号,得到书的信息。BookDAO 具体实现了这个接口。

修改IBookDAO.java,加上如下代码:

public Book getBookById(Integer bookid);//根据图书号得到图书修改BookDAO.java 实现getBookById()方法

public Book getBookById(Integer bookid) {

// TODO Auto-generated method stub

Session session=getSession();

Book book=(Book)session.get(Book.class, bookid);

session.close();

return book;

}

4. Service

在IBookService 接口中定义getBookById(),根据图书号获得图书,

在BookService

中实现此方法。

修改IBookService.java,加上getBookById()的定义:

//根据图书号得到图书

public Book getBookById(Integer bookid);

修改BookService.java,实现getBookById()方法。

public Book getBookById(Integer bookid) {

// TODO Auto-generated method stub

return bookDAO.getBookById(bookid);

}

5. Action

创建ShoppingAction,通过addToCart()方法,完成将图书放入购物车中。

ShoppingAction.java 代码如下: