项目框架
1、Struts/Spring MVC
2、Spring
3、iBatis
Struts/Spring MVC视图层的切换
<servlet-mapping> <servlet-name>petstore</servlet-name> <!-- <servlet-name>action</servlet-name> --> <url-pattern>*.do</url-pattern>
</servlet-mapping>
数据库表设计理念之一
将经常查询更新的数据信息进行小表化处理。(一对一的关系)
如:orders 和 orderstatus;item 和 inventory
从面向对象的角度来分析项目
**************************************
第一部分 购物车部分
一、购物车
1、实现序列化(在网际间传输)
public class Cart implements Serializable
2、购物车应有属性
/* Private Fields */ /**使用Map的容易查找、容易删除的优点*/ private final Map itemMap = Collections.synchronizedMap(new HashMap()); /**使用List的存储有序性的优点。此处用到Spring的分页技术*/
private final PagedListHolder itemList = new PagedListHolder();
3、构造方法
public Cart() { //设置每页的最大显示购物项的数量。 this.itemList.setPageSize(4);
}
4、供显示用的方法(使用PagedListHolder对象)
public Iterator getAllCartItems()
public PagedListHolder getCartItemList()
5、购物车的方法
public int getNumberOfItems() public boolean containsItemId(String itemId) public void addItem(Item item, boolean isInStock) public Item removeItemById(String itemId) public void incrementQuantityByItemId(String itemId) public void setQuantityByItemId(String itemId, int quantity)
public double getSubTotal()
二、购物项部分
1、实现序列化(在网际间传输)
public class CartItem implements Serializable
2、购物项应有属性及其对应的setter和getter方法
private Item item; private int quantity;
private boolean inStock;
3、购物项的方法
public double getTotalPrice()
public void incrementQuantity()
第二部分 订单部分(持久化)
一、订单
二、订单项
private int orderId; private int lineNumber; private int quantity; private String itemId; private double unitPrice;
private Item item;
第三部分 产品部分(持久化)
一、商品目录信息(Category)
private String categoryId; private String name;
private String description;
二、商品总体信息(Product)
private String productId; private String categoryId; private String name;
private String description;
三、商品明细信息(Item)
涉及商品总体信息、供应商信息、商品具体信息、该商品的库存量等。
四、供应商信息(略)
第四部分 用户部分(持久化)
**************************************
项目用到基本的技术
1、未登陆的购物车实现技术;
2、订单产生前后的页面失效技术;
3、登陆后定向到前一个请求的action技术;
一、未登陆的购物车实现技术(实质就是Session范围内购物车在内存存储的技术)
<action path="/shop/addItemToCart" type="org.springframework.samples.jpetstore.web.struts.AddItemToCartAction" name="cartForm" scope="session" validate="false"> <forward name="success" path="/WEB-INF/jsp/struts/Cart.jsp" />
</action>
<form-bean name="cartForm"
type="org.springframework.samples.jpetstore.web.struts.CartActionForm" />
1、用Session范围内的CartActionForm来获取workingItemId参数和该用户的购物车Cart;
2、在Action中处理业务;
3、页面显示购物车信息
二、订单生成技术
(包含:登陆后定向到前一个请求的action技术、订单产生前后的页面失效技术)
<action path="/shop/newOrder" type="org.springframework.samples.jpetstore.web.struts.NewOrderAction" name="workingOrderForm" scope="session" validate="true" input="/WEB-INF/jsp/struts/NewOrderForm.jsp"> <forward name="confirm" path="/WEB-INF/jsp/struts/ConfirmOrder.jsp" /> <forward name="shipping" path="/WEB-INF/jsp/struts/ShippingForm.jsp" /> <forward name="success" path="/WEB-INF/jsp/struts/ViewOrder.jsp" />
</action>
<form-bean name="workingOrderForm"
type="org.springframework.samples.jpetstore.web.struts.OrderActionForm" />
1、未登陆访问newOrder.do将转到登陆页面,同时在request范围内保留请求url和参数;
2、登陆后跳转到上次访问的地址;
3、输入订单的支付、邮寄信息,生成订单确认;(部分页面用导航时必须过期)
4、生成最终的订单。(后退网页过期)
分享到:
相关推荐
Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Spring...
spring学习笔记spring学习笔记spring学习笔记spring学习笔记spring学习笔记spring学习笔记spring学习笔记spring学习笔记
Spring学习笔记( spring视频笔记)
三更springsecurity学习笔记
Spring Cloud 学习入门笔记,全方面实践,包含 spring cloud alibaba 模块
Spring6学习笔记,师承老杜
《Spring技术内幕》学习笔记1——IoC容器体系结构 《Spring技术内幕》学习笔记2——IoC定位Bean定义资源 《Spring技术内幕》学习笔记3——IoC容器载入Bean定义资源文件 《Spring技术内幕》学习笔记4——IoC容器...
黑马程序员-SpringCloud-学习笔记-03-Eureka注册中心
spring学习笔记
spring2.5 学习笔记spring2.5 学习笔记spring2.5 学习笔记
spring指南学习笔记
学习spring总结的笔记 希望对初学者有所帮助
网易云课堂黑马Spring四天精通学习笔记&源码(数据库要另建)
spring2.5_学习笔记spring2.5_学习笔记spring2.5_学习笔记spring2.5_学习笔记
黑马程序员-SpringCloud-学习笔记01-认识微服务
springcloud学习笔记.pdf
这是学习spring时整理的学习笔记,里面都是spring框架的一些基础知识和核心技术。
spring框架整体知识点整理,代码样例
spring2.5_学习笔记. spring2.5_学习笔记. spring2.5_学习笔记. spring2.5_学习笔记.
狂神springcloud学习笔记加代码 笔记可以看:https://www.kuangstudy.com/bbs/1374942542566551554#header4 视频链接:https://www.bilibili.com/video/BV1jJ411S7xr