案例1:查询商品分类信息
案例2:查询首页上的基本信息(热门商品和最新商品)
案例3:查询商品详细信息
案例4:分页查询分类下的商品信息
编程中的注意事项:
java是处理业务逻辑的不具备存储数据的功能,仅仅是数据的处理.
数据的来源:
前端 或 数据库
web层能不能获取到前台传递过来的参数.
做相应的数据处理(我们从前台接过来的参数都是String)
遍历处理: 在遍历一个对象时,一定要判断被遍历的对象是否为空.
事务控制:
sql处理:
日期处理:
Date: java.util
字符串格式的日期
将日期进行转换: SimpleDateFormat
响应注意:
请求转发:
重定向:
案例1-查询商品分类信息
需求分析:
当页面加载成功后,想服务器发送一个异步请求,查询所有的商品分类信息,并将
查询到的结果展示到导航条中
技术分析:
页面加载成功事件:
js:
onload
jq:
$(document).ready(function(){});
$(function(){});
ajax:
$.post(url,[params],function(data){},"json");
redis: 做缓存
吞吐量
步骤分析:
前台:
在head页面加载成功后发送ajax请求
请求地址:
/store2/category?method=findCateAll
后台:
WEB:
编写CategoryServlet 继承 BaseServlet需求
//添加一个公共的findCateAll方法
//调用Service完成分类信息查询的业务逻辑
String jlist =service.findCateAll();
SERVICE:
findCateAll(){
//调用dao查询所有商品分类信息
List<Category> list =dao.findCateAll();
//将查询结果list 转成json 返回给WEB
JSON.toJSONString(list);
}
DAO:
findCateAll(){
//查询所有分类信息
}
案例2-查询首页上的商品信息(热门商品和最新商品)
需求分析:
在请求到达商城首页之前.先先查询商城首页需要的最新商品和热门商品信息.
当查询到最新商品和热门商品后,请求转发到商城首页展示商品信息.
技术分析:
采用同步请求.
步骤分析:
前台:
在访问项目首页时 index.jsp
请求转发到Servlet中,去查询最新商品信息和热门商品信息
后台:
WEB:
编写ProductServlet 继承 BaseServlet
//1.添加一个公共的findIndexPro方法
//2.查询最新商品信息
List<Product> newList = service.findNewPro();
//3.查询热门商品信息
List<Product> hotList = service.findHotPro();
service:
findNewPro(){
// 按照上架时间倒序排序
dao.findNewPro();
}
findHotPro(){
// 根据热门标识
dao.findHotPro();
}
dao:
findNewPro(){
// 按照上架时间倒序排序
// 查询9条数据
// 商品必须为上架商品
}
findHotPro(){
// 根据热门标识
// 查询9条数据
// 商品必须为上架商品
}
案例3-查询商品详细信息
需求分析:
当点查询商品详细信息时,向服务器发送一个查询商品详细信息的请求.
技术分析:
超链接
servlet
步骤分析:
前台:
给商品图片和商品名称添加超链接
/day02store/product?method=findProByPid&pid=sd
后台:
web:
添加一个公共的findProByPid方法
//1.获取请求携带的pid的值
//2.调用service完成查询商品详细信息的业务逻辑
Product pro = service.findProByPid(pid);
//3.请求转发到商品详细信息页面上展示商品信息.
service:
findProByPid(pid){
return dao.findProByPid(pid);
}
dao:
findProByPid(pid){
//查询数据库
}
案例4-分页查询分类下的商品信息
需求分析:
当点击某一个分类超链接时,向服务器发送一个分页查询分类信息的请求.
分页展示商品信息.
技术分析:
分页查询:
limit startIndex,pageSize
必须条件:
pageSize: 每页显示条数
startIndex:起始索引
已知条件:
pageNumber : 前台传递
pageSize : 后台自定义
封装分页查询结果数据信息:
PageBean:
totalCount: 总条数
pageSize:
pageNumber:
totalPage:
data:
步骤分析:
前台:
给分类信息添加超链接
/day02store/product?method=findProByCidPage&cid=1&pageNumber=1
后台:
web:
//1.添加一个公共的findProByCidPage方法
//2.获取cid的值
//3.获取pageNumber的值
//4.自定义每页显示条数
//5.调用service完成分页查询分类下的商品信息
PageBean<Product> pb = service.findProByCidPage(pageNumber,pageSize,cid);
service:
findProByCidPage(pageNumber,pageSize,cid){
//1.查询当前分类下的商品总条数
int totalCount = dao.findByCidTotalCount(cid);
//2.创建PageBean对象
//3.查询当前页的商品信息
//a.获取起始索引
//b.查询当前页的商品信息
List<Product> list = dao.findProByCidPage(startIndex,pageSize,cid);
//c.将查询结果封装到pb中
pb.setData(list);
//4.返回pb
}
dao:
findByCidTotalCount(cid){
}
findProByCidPage(startIndex,pageSize,cid){
}
只是基础思路,增强功能是在我自己的后期代码中慢慢的加上
当然应该没有人看到我的博客,但我写也只是为了自己留笔记.