SSH框架开发起步的最好例子.doc_第1页
SSH框架开发起步的最好例子.doc_第2页
SSH框架开发起步的最好例子.doc_第3页
SSH框架开发起步的最好例子.doc_第4页
SSH框架开发起步的最好例子.doc_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、添加商品到购物车l 开发步骤: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. 创建购物车模型创建购物车模型购物车模型CartCart.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()+orderitem.getQuantity();items.put(bookid, _orderitem);elseitems.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. DAODAO 层主要的类为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 stubSession 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 stubreturn bookDAO.getBookById(bookid);5. Action创建ShoppingAction,通过addToCart()方法,完成将图书放入购物车中。ShoppingAction.java 代码如下:package com.sxjiang.bookstore.action;import java.util.Map;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;import com.sxjiang.bookstore.model.Cart;import com.sxjiang.bookstore.service.IBookService;import com.sxjiang.bookstore.vo.Book;import com.sxjiang.bookstore.vo.Orderitem;public class ShoppingAction extends ActionSupport private Integer bookid;private int quantity;private IBookService bookService;public String addToCart() throws ExceptionBook book=bookService.getBookById(bookid);Orderitem orderitem=new Orderitem();orderitem.setBookid(book.getBookid();orderitem.setQuantity(quantity);Map session=ActionContext.getContext().getSession();Cart cart=(Cart)session.get(cart);if(cart=null)cart=new Cart();cart.addBook(bookid, orderitem);session.put(cart,cart);return SUCCESS;public String updateCart() throws ExceptionMap session=ActionContext.getContext().getSession();Cart cart=(Cart)session.get(cart);cart.updateCart(bookid, quantity);session.put(cart, cart);return SUCCESS;public Integer getBookid() return bookid;public void setBookid(Integer bookid) this.bookid = bookid;public int getQuantity() return quantity;public void setQuantity(int quantity) this.quantity = quantity;public IBookService getBookService() return bookService;public void setBookService(IBookService bookService) this.bookService=bookService;6. 配置struts.xml 和applicationContext.xml在struts.xml 中增加名为:addToCart 的Action 代码如下:/addToCart_result.jsp在applicationContext.xml 中增加shoppringAction 的bean 的配置7. 编写JSP 页面修改browseBookPaging.jsp,代码如下:Insert title hereimg src=/bookstore/picture/width=100书名:价格:元数量:input type=hidden value= name=bookid首页a href=browseBookPaging.action?currentPage=上一页a href=browseBookPaging.action?currentPage=下一页a href=browseBookPaging.action?currentPage=尾页当前第页,总共页二、显示购物车开发步骤:l Modell Actionl Struts.xml applicationContext.xmll JSP1. ModelCart 模型中的updateCart 方法用于更新购物车。修改Cart.java 加入下列代码:public void updateCart(Integer bookid,int quantity)Orderitem orderitem=items.get(bookid);orderitem.setQuantity(quantity);items.put(bookid, orderitem);2. ActionShoppingAction 中的UpdateCart 用于完成更新购物车的功能。修改shoppingAction.javapublic String updateCart() throws ExceptionMap session=ActionContext.getContext().getSession();Cart cart=(Cart)session.get(cart);cart.updateCart(bookid, quantity);session.put(cart, cart);return SUCCESS;3. struts.xml applicationContext.xmlstruts.xml/showCart.jspapplicationContext.xml 没有变化4. JSP 页面创建showCart.jsp 文件Insert title here您购物车中图书 书 名定 价数 量操 作input type=text name=quantity value= size=4/消费金额:元   对不起,您还没有选购图书!修改index.jsp 加入购物车超链接购物车三、结帐开发步骤:l DAOl Servicel Actionl Struts.xml applicationContext.xmll JSP1. DAO主要涉及的类和接口为IOrderDAO 接口和OrderDAO 类。IOrderDAO 接口中定义了insertOrder 方法,用来将插入到orderIOrderDAO.javapackage com.sxjiang.bookstore.dao;import com.sxjiang.bookstore.vo.Orders;public interface IOrderDAO public Orders insertOrder(Orders order);OrderDAO.javapackage com.sxjiang.bookstore.dao.impl;import com.sxjiang.bookstore.dao.BaseDAO;import com.sxjiang.bookstore.dao.IOrderDAO;import com.sxjiang.bookstore.vo.Orders;import org.hibernate.Session;import org.hibernate.Transaction;public class OrderDAO extends BaseDAO implements IOrderDAOpublic Orders saveOrder(Orders order) Session session = getSession();Transaction tx = session.beginTransaction();session.save(order);mit();session.close();return order;2. ServiceService 层主要的类和接口为接口IOrderService , 这个接口定义了saveOrder 方法,用于结帐。OrderService 具体实现了这个接口。创建IOrderService.javapackage com.sxjiang.bookstore.service;import com.sxjiang.bookstore.vo.Orders;public interface IOrderService public Orders saveOrder(Orders order);创建OrderService.javapackage org.bookstore.service.impl;import com.sxjiang.bookstore.dao.IOrderDAO;import com.sxjiang.bookstore.service.IOrderService;import com.sxjiang.bookstore.vo.Orders;public class OrderService implements IOrderService private IOrderDAO orderDAO;public void setOrderDAO(IOrderDAO orderDAO) this.orderDAO = orderDAO;public Orders saveOrder(Orders order) return orderDAO.saveOrder(order);3. Action使用ShoppingAction 类的checkOut()完成结帐功能,类图如图6-10 所示。修改ShoppingAction.javapublic String checkout() throws ExceptionMap session=ActionContext.getContext().getSession();User user=(User)session.get(user);Cart cart=(Cart)session.get(cart);if(user=null | cart=null)return ERROR;Orders order=new Orders();order.setOrderd

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论