我的练习项目: 模拟淘宝搜索商品、添加商品到购物车功能、修改商品信息功能

需求:用户浏览商品,不需要登陆。点击添加到购物车时,引导用户登陆。点击修改时候,修改商品信息。

需求详细:

a:如果是普通的查询-列出数据库数据-显示

b:如果是点击添加库存-检测到没有登陆-跳转到登陆页面-登陆后-列出之前搜索的商品信息-再次点击添加到库存-添加到数据库

c:当用户点击修改商品时候直接修改商品

环  境: springmvc+mybatis框架, Tomcat7.0.5,jdk1.7,myeclipse8.5,

知识点MySql、session、Jquery、Ajax、mapper映射、乱码、参数绑定、异常处理、上传图片、Json交互、拦截器的应用等。

实现流程

a:用户登陆首页,输入搜索信息并提交。在跳转到商品查询对应的ItemsController的queryItems方法之前,LoginInterceptor拦截器会进行拦截,检查到访问的是公有网址,然后放行。

b:此时进入ItemsController控制器中,它调用业务层的查询方法,(业务层调用dao层的查询方法)查询数据库中商品信息数据并设置到model中,然后视图jsp采用JSTL的标签技术进行model的解析和显示。

c:用户点击添加到库存按钮时,拦截器拦截并存储点击的id到session中,并跳转到登陆界面。用户登陆后,拦截器存储其username到session中。然后跳转到查询控制器,查询控制器根据id查询相关商品信息并返回响应信息。此时需要用户再次点击“添加到库存”按钮,采用Ajax通信,发送JSON串到响应controller中,然后解析并存储到数据库中。添加成功后,Ajax调用响应函数弹出添加成功对话框。

d:当用户点击修改商品时候,调到指定页面,修改完毕,提交时存储数据到数据库中。

关键点

1 数据库定义4张表:用户表、商品表、订单表、订单明细表

2 编写登陆拦截器。放行对公有网址访问,拦截对添加商品、用户登陆请求访问。拦截前会记录用户搜索商品的id和用户名和密码到session中。

3 登陆成功后采用Ajax通信将数据通过JSON方式传递到后台进行数据库存储。

4 dao层、service层、controller层,都采用注解方式初始化变量。

5 同样一个 添加到库存到按钮,未登陆时候,执行登陆拦截。已经登陆状态,执行Ajax通信。这里采用JSTL方式判断Model域中是否有用户名的方式。

6所有数据比如商品名称和日期等都是从数据库取出的。


练习项目的成果截图(项目虽小,五脏俱全)

首页:

 

搜索笔记本信息





                                                                                                                               注册界面


 

 

查询订单页面:





评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值