小项目网上商城学习心得

只对这个项目的功能以及用到的技术进行分析和总结:

 1.用户注册:引用了jQuery Validate的表单校验,功能很多,还能结合ajax实现自定义表单校验,注册成功还加入了邮件激活功能!

  主要技术有:jquery,ajax.

          分析:ajax:实现异步传输结合后台查找是否存在相同的用户名

       实现验证码校验,外引入网上的现成的,网上很多而且很好看

       激活用户:用的是网易的邮箱服务器,用到的封装包是mail.jar包!

          

2.用户登入:对用户名的和密码的校验,外加自动登入

主要用到技术:会话技术session和cookie

     分析: session:每次进入网站监测是否存在sesseion域中的user如果有证明已经登入

    cookie:cook的存活的时间只要浏览器客户端关闭,cooike就会丢失,而要到session域中找user,必须要cookie携带的一串字符,这时存在一个问题,就是将cookie的存活的时间延长!

扫描二维码关注公众号,回复: 4623619 查看本文章


3.首页:主要需要显示的数据有:最新商品,和最热商品,以及导航的分类

    主要用到技术:rendis、传统的request请求方式

     分析: 1)刚接触redis时感觉好麻烦,那么多的数据类型、稀里糊涂的我就掌握了第一个简单的存储String的方式,网上说他的主要功能就是解决高并发的问题,传输速度快,存取简单!我只是大才小用的放在导航栏上!因为页面都有导航栏这个页面!节约了每次请求的消耗!

   2)还有就是在查找最新商品和最热商品显示每次只能显示规定的个数,这些都是细节问题,我反正调试过那么会!最新可以根据存入数据的时间进行排,二、最热我是在数据库product中添加了这个这段!会涉及到数据库的一些操作,如排序,条件查找等!

4.各子类分类项:如手机数码,电脑办公等

     主要用到技术:request数据请求

      分析:在做个时要想做的好看些,那么也要需要那么点耐心,主要难点就是商品的据分页,这种分页是根据数据库的数据自动执行的,这时需要创建一个PageBean!

private int currentpage;
private int currentcount;
private int totalpage;
private int totalproductcount;

private List<T> productlist;

参数分析:1.当前页:这个是需要客服端传给服务器的

                   2.当前页显示的个数:这个需要根据自己页面去规划,限定一个固定值

                   3.总页数=总商品数/当前页显示的个数

                    4.总商品数:这需要查数据库

                    5.每页存的商品信息

这些是主要参数!我们可以根据这些进行封装。还有小问题就是在查找数据库的时候要进行分页查找,select * from product where cid=? limit ?,? ;问题就是起始值和结束值怎么算:limit是根据从何值起,何值止,这有小算法何值起=当前页-1*每页个数,得到就是每页的其实值

5.历史纪录的实现:就是每次用户去点击商品的详细信息时,返回到分类页面时需要显示历史纪录

    技术分析:cookie

     分析:实现的方式就是使用cookie,把每次访问商品的商品id存到cookie中,每次返回分类页面时读取cookie中的每个商品pid,会有一些小细节操作,就是对cookie中的数据存与取,需要细心点!

6.购物车的实现

      技术分析:cookie、封装实体

       分析: 就是将每次用户加入购物车的数据存在cookie中,每次要购买时直接提交就好了,存在缺陷,没存在数据库中,每次关闭浏览器,购物车就清空了,因为时小项目,就没有继续专研了,直接了事!加入购物车时要注意的事:就是用户可以加入很多商品进购物车,存在价格的累加,以及购物车中商品的显示和每个商品的购买的数量!这相对其他事比较蛮烦的事!所以感觉做这行急不得,急也没有用啊!我做点做了挺久的、还有将数据封装成实体真的是个难点,存到cookie中一个实体,是一个购物车,而每个购物有很多的购物项。所以没有很久的开发经验做这个还是有点吃力,跟着学相对轻松点!

7.订单的提交

      技术分析:数据库的事务、多表操作

       分析:在用户将购物车的商品提交时,这时要做的操作就是将购物车的数据存到数据中,保存到订单项,因为在做购物车时,大部分的数据都已经存在cookie中了,所以可以直接引用购物车中的数据,但这个实体项也还的创建,换句话说,业务不能,难的怎么创实体,老师说的体会

       Order订单

       private String oid;

       private String ordertime;

       private double total;

private int state;
private String address;
private String name;
private String telephone;
private User user;

private List<Orderitem>orderitem=new ArrayList<Orderitem>();

        OrderItem项

        private String orderitemid;
private int count;
private double subtotal;
private Product product;

private Order order;

         这个涉及到了多表的存储,运用了事务的方法可以防止有些表没数据!加强了数据的可靠性.还有就是有些数据时用户需要填写的,比如收获人的姓名,收获人的地址,收获人电话!要做自己一个人做,挺麻烦的!最后也实现了在线支付功能,感觉还好,都是一些平台提供的!

       

      ok只是潦草的总结,其中还有很多的细节东西没有提到!需要细细哪也挺麻烦的!



       



    



    



猜你喜欢

转载自blog.csdn.net/qq_33188846/article/details/80973985
今日推荐