购物商城项目思路之商品模块

案例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){

}


只是基础思路,增强功能是在我自己的后期代码中慢慢的加上
当然应该没有人看到我的博客,但我写也只是为了自己留笔记.

猜你喜欢

转载自blog.csdn.net/weixin_42286648/article/details/80853447