1. 程式人生 > >小專案網上商城學習心得

小專案網上商城學習心得

只對這個專案的功能以及用到的技術進行分析和總結:

 1.使用者註冊:引用了jQuery Validate的表單校驗,功能很多,還能結合ajax實現自定義表單校驗,註冊成功還加入了郵件啟用功能!

  主要技術有:jquery,ajax.

          分析:ajax:實現非同步傳輸結合後臺查詢是否存在相同的使用者名稱

       實現驗證碼校驗,外引入網上的現成的,網上很多而且很好看

       啟用使用者:用的是網易的郵箱伺服器,用到的封裝包是mail.jar包!

          

2.使用者登入:對使用者名稱的和密碼的校驗,外加自動登入

主要用到技術:會話技術session和cookie

     分析: session:每次進入網站監測是否存在sesseion域中的user如果有證明已經登入

    cookie:cook的存活的時間只要瀏覽器客戶端關閉,cooike就會丟失,而要到session域中找user,必須要cookie攜帶的一串字元,這時存在一個問題,就是將cookie的存活的時間延長!


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只是潦草的總結,其中還有很多的細節東西沒有提到!需要細細哪也挺麻煩的!