日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

JavaWeb图书管理系统day01

發(fā)布時間:2024/9/30 windows 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaWeb图书管理系统day01 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
  • 視頻+資料+筆記【鏈接:https://pan.baidu.com/s/127I2oA8zvhTECCmC6wMSmQ? ?提取碼:zjxs】
  • JavaWeb圖書管理系統(tǒng)【bookEstore文檔】
  • JavaWeb圖書管理系統(tǒng)【源碼 + 效果展示】
  • JavaWeb圖書管理系統(tǒng)day01【2014.09.27】
  • JavaWeb圖書管理系統(tǒng)day02【2014.09.28】
  • JavaWeb圖書管理系統(tǒng)day03【2014.09.29】
  • 目錄

    公開課安排

    一、功能分析與設(shè)計

    數(shù)據(jù)表之間的關(guān)系

    導入sql文件

    設(shè)置域名(虛擬主機配置)

    二、注冊與登錄操作

    三、添加商品操作

    四、顯示商品信息


    公開課安排

    第一天

  • 功能分析與設(shè)計
  • 注冊與登錄操作
  • 添加商品操作
  • 顯示商品信息
  • 第二天

  • 查看商品詳細信息
  • 添加商品到購物車
  • 顯示購物車商品
  • 購物車刪除與修改操作
  • 第三天

  • 生成訂單
  • 查看訂單
  • 訂單的取消與支付
  • 權(quán)限控制
  • 一、功能分析與設(shè)計

    數(shù)據(jù)表之間的關(guān)系

    訂單與用戶之間存在關(guān)系:1 對 多 ?
    ?? ??? ?要在訂單表中生成一個外鍵來描述關(guān)系。
    ?? ??? ?
    訂單項:描述的商品與訂單之間的關(guān)系
    ?? ??? ?多對多關(guān)系
    ?? ??? ?
    需要一個中間表(orderitem)來描述它們的關(guān)系

    導入sql文件

    創(chuàng)建數(shù)據(jù)庫后,進入數(shù)據(jù)庫,通過 source導入sql文件:

    ???

    設(shè)置域名(虛擬主機配置)

    關(guān)于在瀏覽器上直接輸入 ?http://www.bookEstore.com 就可以訪問工程的問題。
    ?? ??? ?
    1.在tomcat/conf/server.xml文件中,配置一個虛擬主機
    ?? ??? ??? ?<Host name="www.bookEstore.com" ?appBase="D:\j2eeWorkspaces\bookEstore"
    ?? ??? ??? ??? ?unpackWARs="true" autoDeploy="true">


    ?? ??? ??? ??? ?<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
    ?? ??? ??? ??? ? ? prefix="localhost_access_log." suffix=".txt"
    ?? ??? ??? ??? ? ? pattern="%h %l %u %t &quot;%r&quot; %s %b" />
    ?? ??? ??? ??? ??
    ?? ??? ??? ??? ?<Context path="" docBase="D:\j2eeWorkspaces\bookEstore\WebRoot"/> ?
    ?? ??? ??? ??? ? ??
    ?? ??? ? ?</Host>
    ?? ??? ? ?
    2.需要在C:\Windows\System32\drivers\etc路徑下,查找一個配置文件hosts
    ?? ??? ??? ?在這個文件中配置
    ?? ??? ??? ?127.0.0.1 ? ? ? www.bookEstore.com
    ?? ??? ??? ?
    ?? ??? ??? ?
    3.可以在server.xml文件中,配置:
    ?? ??? ??? ?<Engine name="Catalina" defaultHost="www.bookEstore.com">

    二、注冊與登錄操作

    1.注冊
    ?? ??? ??? ?1.注冊功能演示
    ?? ??? ??? ?2.代碼實現(xiàn)
    ?? ??? ??? ??? ?regist.jsp頁面------>UserServlet----->UserDao
    ?? ??? ??? ??? ?
    ?? ??? ??? ??? ?UserServlet中:
    ?? ??? ??? ??? ??? ?1.獲取驗證碼,判斷它是否正確,如果正確,向下執(zhí)行.
    ?? ??? ??? ??? ??? ? ?如果不正確,跳轉(zhuǎn)到regist.jsp頁面,顯示錯誤信息
    ?? ??? ??? ??? ??? ? ?
    ?? ??? ??? ??? ??? ?2.將所有請求參數(shù)封裝到User對象中,在User類中創(chuàng)建一個validateRegist方法,
    ?? ??? ??? ??? ??? ?這個方法會對請求參數(shù)進行校驗,將錯誤信息封裝到一個Map集合,在Servlet中
    ?? ??? ??? ??? ??? ?判斷集合長度是否>0,這樣就可以判斷是否有錯誤信息,如果有,跳轉(zhuǎn)到regist.jsp顯示錯誤信息.
    ?? ??? ??? ??? ??? ?
    ?? ??? ??? ??? ??? ?3.調(diào)用UserService去完成注冊操作 ?調(diào)用regist方法,傳遞User參數(shù)
    ?? ??? ??? ??? ??? ??? ?
    ?? ??? ??? ??? ??? ?4.在regist方法中做了兩件事情
    ?? ??? ??? ??? ??? ??? ?1.調(diào)用UserDao完成注冊操作
    ?? ??? ??? ??? ??? ??? ?2.給注冊的用戶發(fā)送了一封激活郵件
    ?? ??? ??? ??? ??? ??? ?
    ?? ??? ??? ??? ??? ??? ?
    ?? ??? ??? ??? ?關(guān)于md5加密:
    ?? ??? ??? ??? ??? ?在mysql數(shù)據(jù)庫中通過 ?md5(字段);
    ?? ??? ??? ??? ??? ??? ?update users set password=md5(password);
    ?? ??? ??? ??? ??? ??? ?
    ?? ??? ??? ??? ??? ?在java中可以通過代碼實現(xiàn)
    ?? ??? ??? ??? ??? ??? ?MessageDigest.getInstance("md5")
    ?? ??? ??? ??? ??? ??? ?
    ?? ??? ??? ?
    2.登錄操作
    ?? ??? ??? ?index.jsp---->page.jsp頁面 有登錄窗口
    ?? ??? ??? ?
    ?? ??? ??? ?會有登錄窗口,提交時會訪問UserServlet,會帶一個請求參數(shù) ?method=login
    ?? ??? ??? ?在UserServlet中就可以判斷當前操作是登錄操作
    ?? ??? ??? ?就會調(diào)用UserServlet中的login方法
    ?? ??? ??? ?
    ?? ??? ??? ?
    ?? ??? ??? ?UserServlet---UserService----->UserDao
    ?? ??? ??? ??? ?
    ?? ??? ??? ??? ?1.userServlet中收集了用戶名與密碼
    ?? ??? ??? ??? ?2.UserService中調(diào)用UserDao中查找用戶操作 ?findUserByUserNameAndPassword
    ?? ??? ??? ??? ?3.在UserService中判斷了一下得到的User對象是否為null,如果為null,直接拋出一個自定義異常.
    ?? ??? ??? ??? ?4.如果查找到了用戶,但是用戶未激活,那么也不能登錄成功,拋出了一個自定義異常.
    ?? ??? ??? ??? ?5.在UserServlet中捕獲自定義異常,在page.jsp頁面顯示錯誤信息.
    ?? ??? ??? ??? ?6.在UserServlet中判斷用戶不為空,就將User存儲到session中,并跳轉(zhuǎn)到首頁index.jsp,
    ?? ??? ??? ??? ? ?自動跳轉(zhuǎn)到page.jsp頁面。
    ?? ??? ??? ??? ? ?
    ?? ??? ??? ?
    ?? ??? ??? ?1.記住用戶名
    ?? ??? ??? ??? ?當用戶登錄成功后,并且勾選了記住用戶名操作,我們將用戶的username存儲到cookie中,
    ?? ??? ??? ??? ?持久化存儲,并攜帶到瀏覽器端.
    ?? ??? ??? ??? ?在頁面上通過el表達式獲取username顯示出來.
    ?? ??? ??? ??? ?
    ?? ??? ??? ??? ?在cookie中是不能存儲中文,那么要是用戶名是中文,我們可以存儲username的utf-8碼.
    ?? ??? ??? ??? ?在頁面上,通過js將utf-8碼解碼.
    ?? ??? ??? ??? ?
    ?? ??? ??? ?2.自動登錄操作
    ?? ??? ??? ??? ?當用戶登錄成功后,并且勾選自動登錄操作,我們將username,password都存儲到cookie中,
    ?? ??? ??? ??? ?持久化存儲,并攜帶到瀏覽器端.
    ?? ??? ??? ??? ?
    ?? ??? ??? ??? ?當下一次在訪問時,我們可以通過Filter來攔截我們請求,判斷cookie中是否有我們存儲username,
    ?? ??? ??? ??? ?passowrd的這個cookie
    ?? ??? ??? ??? ?
    ?? ??? ??? ??? ?注意:自動登錄時,有以下情況是不需要進行自動登錄的.
    ?? ??? ??? ??? ??? ?1.用戶已經(jīng)登錄
    ?? ??? ??? ??? ??? ?2.用戶訪問的路徑是 ?login ?regist這樣的操作。
    ?? ??? ??? ??? ??? ?
    ?? ??? ??? ??? ??? ?
    ?? ??? ??? ?3.注銷操作
    ?? ??? ??? ??? ?我們用戶登錄成功后,會將用戶存儲到session中。
    ?? ??? ??? ??? ?注銷操作就是將session銷毀就可以以。
    ?? ??? ??? ??? ?session.invalidate()方法.
    ?? ??? ??? ??? ?
    ?? ??? ??? ??? ?點擊注銷訪問UserServlet?method=logout

    三、添加商品操作

    3.關(guān)于商品的添加
    ?? ??? ??? ?添加商品操作,其實是一個文件上傳操作。添加商品時,需要添加一個商品圖片,我們使用文件上傳。
    ?? ??? ??? ?commons-fileupload
    ?? ??? ??? ?
    ?? ??? ??? ?瀏覽器:
    ?? ??? ??? ??? ?1.method=post
    ?? ??? ??? ??? ?2.encType="multipart/form-data"
    ?? ??? ??? ??? ?3.<input type="file" name="f">組件
    ?? ??? ??? ??? ?
    ?? ??? ??? ?點擊添加圖書鏈接,會訪問 addProduct.jsp頁面?? ?
    ?? ??? ??? ?
    ?? ??? ??? ?AddProductServlet這個servlet中有兩個工作:
    ?? ??? ??? ??? ?1.完成書箱圖片的保存(上傳操作)
    ?? ??? ??? ??? ?2.將信息存儲到數(shù)據(jù)庫

    ?? ??? ??? ?創(chuàng)建了一個Map<String,String[]>它用于封裝所有請求參數(shù)
    ?? ??? ??? ?通過BeanUtils.populate方法將請求參數(shù)直接封裝到Product類中。

    ?? ??? ??? ?可以調(diào)用ProductService中的添加圖書的方法,完成圖書添加操作

    ?? ??? ??? ?當圖片添加成功后,我們會跳轉(zhuǎn)到index.jsp頁面。

    四、顯示商品信息

    4.關(guān)于查詢圖書操作
    ?? ??? ??? ?
    ?? ??? ??? ?1.查詢?nèi)?br /> ?? ??? ??? ??? ?index.jsp頁面直接跳轉(zhuǎn)到ProductServlet中
    ?? ??? ??? ??? ?執(zhí)行findAll操作,也就是查詢出全部信息
    ?? ??? ??? ??? ?
    ?? ??? ??? ??? ?調(diào)用ProductService----ProductDao完成查詢操作,得到所有商品信息List<Product>
    ?? ??? ??? ??? ?
    ?? ??? ??? ??? ?轉(zhuǎn)發(fā)到page.jsp頁面,在page.jsp頁面展示所有商品信息.
    ?? ??? ??? ??? ?
    ?? ??? ??? ?2.根據(jù)id查詢
    ?? ??? ??? ??? ?點擊“搶購書籍”,會訪問ProductServlet,
    ?? ??? ??? ??? ?product?method=findById&id=xxx
    ?? ??? ??? ??? ?會將這本書籍的id也攜帶到服務(wù)器端.
    ?? ??? ??? ??? ?
    ?? ??? ??? ??? ?會調(diào)用ProductService的findByid方法,根據(jù)id查找書籍,也就是得到一個Product對象。
    ?? ??? ??? ??? ?
    ?? ??? ??? ??? ?查找到商品后,跳轉(zhuǎn)到productInfo.jsp頁面,展示商品信息。
    ?? ??? ??? ??? ?
    ?? ??? ??? ??? ?上傳的所有圖片 大小不確定的,怎樣保證顯示商品時,它的大小?
    ?? ??? ??? ??? ??? ?
    ?? ??? ??? ??? ?通過一個工具類可以保證當前的商品的圖片大小一致。
    ?? ??? ??? ??? ?
    ?? ??? ??? ??? ?PicUtils putils = new PicUtils(this.getServletContext().getRealPath(product.getImgurl()));
    ?? ??? ??? ??? ?putils.resize(200, 200);
    ?? ??? ??? ??? ?
    ?? ??? ??? ??? ?當添加商品時,會生成商品圖片的一個縮略圖,以方便我們在頁面上顯示。
    ?? ??? ??? ??? ??
    ?? ??? ??? ??? ?在Product類中提供了一個getImgurl_s方法,這個方法,會根據(jù)商品圖片的路徑,獲取到縮略圖片的路徑,
    ?? ??? ??? ??? ?我們就可以直接在頁面上通過el表達式,獲取縮略圖的路徑,顯示出這個縮略圖。

    總結(jié)

    以上是生活随笔為你收集整理的JavaWeb图书管理系统day01的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。