一.jsp标准标签
9大内置对象:out、request、response、session、application、page、pageContext、config、exception
三大指令:page、include、taglib
四大域对象:pageContext、reqeust、session、application
动作标签 <jsp:forward>
7个动作标签:forward param include ....
常用jsp标签(自带):
1.<jsp:include page="页面"> 包含
2.<jsp:param name="name" value="va"> 传参
3.<jsp:foward page="页面"> 转发 *****
4.<jsp:useBean>相当于实例化类 Users users = new Users();
5.<jsp:setProperty>给useBean属性设置值
6.<jsp:getProperty>取值
----4.userBean用法:
<jsp:useBean id="" beanName="" type="" class="" scope="">
id: 对象名 *
class:类 创建对象时,完全限定名(包名+类名)
type:类型 调用对象时 * (可以用抽象父类或者接口)
scope:作用域 (page * request session application)
----5.setProperty用法:
<jsp:setProperty name="" property="" value="">
name:useBean 的id
property:属性名(要注意必须跟实体类中的属性名保持一致)
value:属性值
二.项目分析
(1) 数据库设计
用户表,商品信息表,商品类别表,购物车表,订单表,订单详情表
(2) 购物车实现流程
用户登录---商品显示---加入购物车---结算---记录添加到订单及订单详情中。
① 将购物车保存到数据库(永久的)
--优点:只要你登录了,并且选购了,不管你换不换设备,数据仍然在,方便了用户。
--缺点:太占数据库的内存,性能差,效率低
② 将购物车保存到session中(临时的)
--优点:性能佳 效率高
--缺点:会话具有时效性,超时数据会消失
----提示语法:
存到session: session.setAttribute(键String,值Object)
从session取值:session.getAttribute(键) 返回Object
----我们是将订单项的集合List<OrderItem>保存到session中
实体类:
User
Goods(商品类):gid gname gprice ginfo gpath(图片路径)
OrderItem(订单项类):goods oinum oiprice=数量*单价(goods.getGprice())
doshop.jsp:接收gid 根据gid拿到商品对象 形成订单项 加到集合中保存到session