SSH框架开发起步的最好例子
- 格式:doc
- 大小:1.59 MB
- 文档页数:23
一、添加商品到购物车
开发步骤:
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
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
return items;
}
public void setItems(Map
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 代码如下: