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

下载本文档

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

文档简介

**一、添加商品到购物车开发步骤:创建数据库表及进行反向工程创建购物车模型编写DAO层编写Service层编写Action层编写struts和Spring配置文件编写JSP页面具体操作如下:1.创建数据库表订单表(orders),包含3个字段:orderid(订单编号),userid(用户表的关联字段),orderdate(订单日期)谢谢阅读**订单项表(orderitem),包含4个字段:orderitemid(订单项编号),orderid(与订精品文档放心下载单表关联字段),bookid(与图书表关联字段),quantity(数量)谢谢阅读进行两张表的反向工程,生成响应的POJO和hbm.xml文件。精品文档放心下载创建购物车模型创建购物车模型购物车模型Cart**Cart.java代码如下:packagecom.sxjiang.bookstore.model;感谢阅读importjava.util.HashMap;importjava.util.Iterator;谢谢阅读importjava.util.Map;importcom.sxjiang.bookstore.vo.Orderitem;感谢阅读publicfinalclassCart{protectedMap<Integer,Orderitem>items;精品文档放心下载publicCart(){if(items==null){items=newHashMap<Integer,Orderitem>();感谢阅读}}publicvoidaddBook(Integerbookid,Orderitemorderitem){精品文档放心下载**if(items.containsKey("bookid")){精品文档放心下载Orderitem_orderitem=items.get(bookid);感谢阅读_orderitem.setQuantity(_orderitem.getOrderitemid()+orderite感谢阅读m.getQuantity());items.put(bookid,_orderitem);感谢阅读}else{items.put(bookid,orderitem);谢谢阅读}}publicvoidupdateCart(Integerbookid,intquantity){精品文档放心下载Orderitemorderitem=items.get(bookid);感谢阅读orderitem.setQuantity(quantity);谢谢阅读items.put(bookid,orderitem);感谢阅读}publicintgetTotalPrice(){精品文档放心下载inttotalPrice=0;for(Iteratorit=items.values().iterator();it.hasNext();){谢谢阅读Orderitemorderitem=(Orderitem)it.next();精品文档放心下载Bookbook=orderitem.getBook();谢谢阅读intquantity=orderitem.getQuantity();感谢阅读**totalPrice+=book.getPrice()*quantity;精品文档放心下载}returntotalPrice;}publicMap<Integer,Orderitem>getItems(){精品文档放心下载returnitems;}publicvoidsetItems(Map<Integer,Orderitem>items){感谢阅读this.items=items;}}3.DAODAO层主要的类为BaseDAO类,IBookDAO接口和BookDAO谢谢阅读类。在IBookDAO中定义了getBookById()方法,通过这个方法可以根据id号,得到书的信精品文档放心下载息。BookDAO具体实现了这个接口。**修改IBookDAO.java,加上如下代码:publicBookgetBookById(Integerbookid);//根据图书号得到谢谢阅读图书修改BookDAO.java实现getBookById()方法publicBookgetBookById(Integerbookid){精品文档放心下载TODOAuto-generatedmethodstubSessionsession=getSession();感谢阅读Bookbook=(Book)session.get(Book.class,bookid);session.close();精品文档放心下载returnbook;}4.Service在IBookService接口中定义getBookById(),根据图书号获得图书,谢谢阅读**在BookService中实现此方法。修改IBookService.java,加上getBookById()的定义:谢谢阅读//根据图书号得到图书publicBookgetBookById(Integerbookid);精品文档放心下载修改BookService.java,实现getBookById()方法。publicBookgetBookById(Integerbookid){//TODOAuto-generatedmethodstubreturnbookDAO.getBookById(bookid);精品文档放心下载}5.Action创建ShoppingAction,通过addToCart()方法,完成将图书放入购物车中。谢谢阅读**ShoppingAction.java代码如下:packagecom.sxjiang.bookstore.action;importjava.util.Map;精品文档放心下载importcom.opensymphony.xwork2.ActionContext;精品文档放心下载importcom.opensymphony.xwork2.ActionSupport;精品文档放心下载importcom.sxjiang.bookstore.model.Cart;精品文档放心下载importcom.sxjiang.bookstore.service.IBookService;精品文档放心下载importcom.sxjiang.bookstore.vo.Book;精品文档放心下载importcom.sxjiang.bookstore.vo.Orderitem;精品文档放心下载publicclassShoppingActionextendsActionSupport{privateIntegerbookid;精品文档放心下载privateintquantity;privateIBookServicebookService;精品文档放心下载publicStringaddToCart()throwsException{Bookbook=bookService.getBookById(bookid);Orderitemorderitem=newOrderitem();orderitem.setBookid(book.getBookid());orderitem.setQuantity(quantity);谢谢阅读Mapsession=ActionContext.getContext().getSession();Cartcart=(Cart)session.get("cart");if(cart==null){谢谢阅读cart=newCart();**}cart.addBook(bookid,orderitem);感谢阅读session.put("cart",cart);returnSUCCESS;}publicStringupdateCart()throwsException{谢谢阅读Mapsession=ActionContext.getContext().getSession();Cartcart=(Cart)session.get("cart");cart.updateCart(bookid,quantity);session.put("cart",cart);谢谢阅读returnSUCCESS;}publicIntegergetBookid(){感谢阅读returnbookid;}publicvoidsetBookid(Integerbookid){谢谢阅读this.bookid=bookid;}publicintgetQuantity(){谢谢阅读returnquantity;}publicvoidsetQuantity(intquantity){感谢阅读**this.quantity=quantity;}publicIBookServicegetBookService(){returnbookService;}精品文档放心下载publicvoidsetBookService(IBookServicebookService){this.bookService=bookService;}精品文档放心下载}6.配置struts.xml和applicationContext.xml感谢阅读在struts.xml中增加名为:addToCart的Action代码如下:谢谢阅读<actionname="addToCart"class="shoppingAction"精品文档放心下载method="addToCart"><resultname="success">/addToCart_result.jsp</result></action>谢谢阅读在applicationContext.xml中增加shoppringAction的bean的配置精品文档放心下载<beanid="shoppingAction"class="com.sxjiang.bookstore.action.ShoppingAction">精品文档放心下载<propertyname="bookService"ref="bookService">感谢阅读</property></bean>**7.编写JSP页面修改browseBookPaging.jsp,代码如下:精品文档放心下载<%@pagelanguage="java"contentType="text/html;谢谢阅读charset=gb2312"pageEncoding="gb2312"%><%@taglibprefix="s"uri="/struts-tags"%>谢谢阅读<!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01精品文档放心下载Transitional//EN""/TR/html4/loose.dtd">谢谢阅读<html><head><metahttp-equiv="Content-Type"content="text/html;charset=ISO-8859-1">感谢阅读<title>Inserttitlehere</title>感谢阅读</head><body><s:iteratorvalue="#request['books']"id="book"><imgsrc="/bookstore/picture/<s:propertyvalue="#book.picture"/>"精品文档放心下载width="100">书名:<s:propertyvalue="#book.bookname"/>精品文档放心下载价格:<s:propertyvalue="#book.price"/>元精品文档放心下载**<formaction="addToCart.action"method=""post">精品文档放心下载数量:<inputtype="text"name="quantity"value="0"谢谢阅读size="4"/><inputtype="hidden"value="<s:property感谢阅读value="#book.bookid"/>"name="bookid">谢谢阅读<inputtype="image"name="submit"感谢阅读src="/bookstore/picture/buy.gif"/>精品文档放心下载</form><br></s:iterator><s:setname="pager"value="#request.pager"/>感谢阅读<s:iftest="#pager.hasFirst">谢谢阅读<ahref="browseBookPaging.action?currentPage=1">首页感谢阅读</a></s:if><s:iftest="#pager.hasPrevious">精品文档放心下载<ahref="browseBookPaging.action?currentPage=<s:propertyvalue="#pager.current1"/>">精品文档放心下载上一页</a></s:if><s:iftest="#pager.hasNext">谢谢阅读**<ahref="browseBookPaging.action?currentPage=<s:propertyvalue="#pager.currentPage+1"/>">谢谢阅读下一页</a></s:if><s:iftest="#pager.hasLast">精品文档放心下载<ahref="browseBookPaging.action?currentPage=<s:propertyvalue="#pager.totalPage"/>">谢谢阅读尾页</a></s:if>当前第<s:propertyvalue="#pager.currentPage"/>页,总共谢谢阅读<s:propertyvalue="#pager.totalPage"/>页谢谢阅读</body></html>二、显示购物车开发步骤:ModelAction**Struts.xmlapplicationContext.xml精品文档放心下载JSP1.ModelCart模型中的updateCart方法用于更新购物车。感谢阅读修改Cart.java加入下列代码:publicvoidupdateCart(Integerbookid,intquantity){谢谢阅读Orderitemorderitem=items.get(bookid);orderitem.setQuantity(quantity);items.put(bookid,orderitem);}谢谢阅读2.ActionShoppingAction中的UpdateCart用于完成更新购物车的功能。修改shoppingAction.java感谢阅读publicStringupdateCart()throwsException{精品文档放心下载Mapsession=ActionContext.getContext ().getSession();谢谢阅读Cartcart=(Cart)session.get("cart");谢谢阅读cart.updateCart(bookid,quantity);谢谢阅读session.put("cart",cart);感谢阅读returnSUCCESS;}struts.xmlapplicationContext.xmlstruts.xml精品文档放心下载**<actionname="updateCart"class="shoppingAction"精品文档放心下载method="updateCart"><resultname="success">/showCart.jsp</result>感谢阅读</action>applicationContext.xml没有变化谢谢阅读4.JSP页面创建showCart.jsp文件<%@pagelanguage="java"contentType="text/html;谢谢阅读charset=gb2312"pageEncoding="gb2312"%><%@taglibprefix="s"uri="/struts-tags"%>精品文档放心下载<!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01精品文档放心下载Transitional//EN""/TR/html4/loose.dtd">精品文档放心下载<html><head><metahttp-equiv="Content-Type"content="text/html;charset=ISO-8859-1">谢谢阅读<title>Inserttitlehere</title>感谢阅读</head><body><DIVclass=right>**<DIVclass=right_box><s:setname="items"value="#session.cart.items"/><s:iftest="#items.size!=0">感谢阅读<fontcolor="blue"><h3>您购物车中图书</h3></font>感谢阅读<br/><TABLEid=tbcellSpacing=2cellPadding=5width="95%"精品文档放心下载align=centerborder=0><tr><TDbgcolor=rgb(238,238,238)align="center"width="50%"感谢阅读height=12>书名</TD><TDbgcolor=rgb(238,238,238)align="center"width="15%"感谢阅读>定价</TD><TDbgcolor=rgb(238,238,238)align="center"感谢阅读width="15%">数量</TD><TDbgcolor=rgb(238,238,238)align="center"谢谢阅读width="20%"><fontcolor="gray">操作</font></TD>谢谢阅读</tr><formaction="updateCart.action"method="post">谢谢阅读<s:iteratorvalue="#items">感谢阅读<tr><td><s:propertyvalue="value.book.bookname"/>谢谢阅读**</td><td><s:propertyvalue="value.book.price"/>精品文档放心下载</td><td><inputtype="text"name="quantity"value='<s:property谢谢阅读value="value.quantity"/>'size="4"/>精品文档放心下载<inputtype="hidden"name="bookid"谢谢阅读value=""/></td><td><inputtype="submit"value="更新"/>谢谢阅读</td></tr></s:iterator></form></table><hr/>消费金额:<s:propertyvalue="#session.cart.totalPrice"/>元精品文档放心下载   <ahref="checkout.action"><img感谢阅读src="/bookstore/picture/count.gif"/></a>谢谢阅读**</s:if><s:else>对不起,您还没有选购图书!</s:else></DIV></body></html>修改index.jsp加入购物车超链接<ahref="/showCart.jsp">购物车</a>精品文档放心下载三、结帐开发步骤:DAOServiceActionStruts.xmlapplicationContext.xml谢谢阅读JSP1.DAO主要涉及的类和接口为IOrderDAO接口和OrderDAO类。精品文档放心下载IOrderDAO接口中定义了insertOrder方法,用来将插入到orderIOrderDAO.java精品文档放心下载packagecom.sxjiang.bookstore.dao;感谢阅读**importcom.sxjiang.bookstore.vo.Orders;publicinterfaceIOrderDAO{谢谢阅读publicOrdersinsertOrder(Ordersorder);谢谢阅读}OrderDAO.javapackagecom.sxjiang.bookstore.dao.impl;importcom.sxjiang.bookstore.dao.BaseDAO;importcom.sxjiang.bookstore.dao.IOrderDAO;importcom.sxjiang.bookstore.vo.Orders;importorg.hibernate.Session;importorg.hibernate.Transaction;精品文档放心下载publicclassOrderDAOextendsBaseDAOimplementsIOrderDAO{感谢阅读publicOrderssaveOrder(Ordersorder){精品文档放心下载Sessionsession=getSession();感谢阅读Transactiontx=session.beginTransaction();精品文档放心下载session.save(order);mit();session.close();returnorder;}2.Service**Service层主要的类和接口为接口IOrderService,这个接口定义精品文档放心下载了saveOrder方法,用于结帐。OrderService具体实现了这个接口。创建IOrderService.java谢谢阅读packagecom.sxjiang.bookstore.service;importcom.sxjiang.bookstore.vo.Orders;publicinterfaceIOrderService{精品文档放心下载publicOrderssaveOrder(Ordersorder);谢谢阅读}创建OrderService.javapackageorg.bookstore.service.impl;精品文档放心下载importcom.sxjiang.bookstore.dao.IOrderDAO;importcom.sxjiang.bookstore.service.IOrderService;importcom.sxjiang.bookstore.vo.Orders;精品文档放心下载publicclassOrderServiceimplementsIOrderService{privateIOrderDAOorderDAO;谢谢阅读publicvoidsetOrderDAO(IOrderDAOorderDAO){this.orderDAO=orderDAO;}感谢阅读publicOrderssaveOrder(Ordersorder){returnorderDAO.saveOrder(order);}感谢阅读**}3.Action使用ShoppingAction类的checkOut()完成结帐功能,类图如图精品文档放心下载6-10所示。修改ShoppingAction.javapublicStringcheckout()throwsException{谢谢阅读Mapsession=ActionContext.getContext().getSession();谢谢阅读Useruser=(User)session.get("user");精品文档放心下载Cartcart=(Cart)session.get("cart");精品文档放心下载if(user==null||cart==null)精品文档放心下载returnERROR;Ordersorder=newOrders();谢谢阅读order.setOrderdate(newDate());感谢阅读order.setUser(user);for(Iteratorit=cart.getItems().values().iterator();it.hasNext();){谢谢阅读Orderitemorderitem=(Orderitem)it.next();谢谢阅读orderitem.setOrders(order);感谢阅读order.getOrderitems().add(orderitem);谢谢阅读}orderService.saveOrder(order);感谢阅读Maprequest=(Map)ActionContext.getContext().get("request");精品文档放心下载**request.put("order",order);谢谢阅读returnSUCCESS;}4.struts.xmla

温馨提示

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

评论

0/150

提交评论