JavaWeb綜訓(xùn)報告-用Servlet實現(xiàn)購物車_第1頁
JavaWeb綜訓(xùn)報告-用Servlet實現(xiàn)購物車_第2頁
JavaWeb綜訓(xùn)報告-用Servlet實現(xiàn)購物車_第3頁
JavaWeb綜訓(xùn)報告-用Servlet實現(xiàn)購物車_第4頁
JavaWeb綜訓(xùn)報告-用Servlet實現(xiàn)購物車_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

PAGE2-·····學(xué)院JavaWeb應(yīng)用開發(fā)課程設(shè)計用Servlet實現(xiàn)購物車班 級:·······姓名:######## ##指導(dǎo)教師:#時間:2012/12/24至2012/12/28目錄1、課程設(shè)計概述3 1.1課程設(shè)計的主要思想3 1.2課程設(shè)計的主要目的32、課程需求分析3 2.1性能需求分析3 2.2功能需求分析43、課程詳細(xì)說明、調(diào)試4 3.1課程設(shè)計流程圖4 3.2課程設(shè)計功能模塊圖5 3.3課程源代碼調(diào)試示5 3.4課程需要注意的問題114、個人總結(jié)12課程設(shè)計概述1.1課程設(shè)計的主要思想 本次設(shè)計主要用的思想是MVC設(shè)計模式,Jsp充當(dāng)View的角色,servlet充當(dāng)Conteoller,JavaBen(Book)充當(dāng)Model,實現(xiàn)界面與邏輯的分離,通過傳遞參數(shù)進(jìn)行調(diào)用,Jsp頁面通過發(fā)送一個操作類型變量,從而使得servlet獲知應(yīng)當(dāng)進(jìn)行的操作,并通過調(diào)用javabean進(jìn)行實際的執(zhí)行,這樣頁面與邏輯就得到了分離,互不干涉和影響實現(xiàn)了購物的一些簡單操作,本程序沒有用到數(shù)據(jù)庫的知識。1.2課程設(shè)計的主要目的 本次課程用到了我們學(xué)過的很多知識,有html,java,jsp,servlet,javaben等知識,這樣一來加強(qiáng)我們對現(xiàn)正在學(xué)的知識的鞏固以及對以前學(xué)的html和java的回顧,掌握這些知識的綜合運(yùn)用,對方法,類的進(jìn)一步加深,同時也讓學(xué)生通過實驗來感受靜態(tài)網(wǎng)頁和動態(tài)的網(wǎng)頁不同。不僅如此,還加強(qiáng)我們的動手能力和對出現(xiàn)問題的解決能力以及對我們自身所學(xué)知識的一個檢驗。2、課程需求分析2.1性能需求分析 隨著計算機(jī)技術(shù)的發(fā)展和網(wǎng)絡(luò)人口的增加,網(wǎng)絡(luò)世界越來越豐富,電子商務(wù)已經(jīng)成為網(wǎng)上的一股潮流。我們相信要不了太長時間,顧客就可以在網(wǎng)絡(luò)世界上獲得他們在現(xiàn)實世界上可以獲得的所有商品和服務(wù)。而對圖書的需求也與日俱增,因此開發(fā)一個網(wǎng)上商店系統(tǒng)是有很大的實用價值和經(jīng)濟(jì)價值。對于我們計算機(jī)軟件專業(yè)的學(xué)生來說,這是一次我們所學(xué)知識用于現(xiàn)實中的很有意義的實踐活動,所以開發(fā)這樣一個簡單的Servlet實現(xiàn)的購物車是很有價值的。2.2功能需求分析 利用Servlet實現(xiàn)的這個購物車應(yīng)具備的功能有:商品的展示界面,所選中購買商品的界面以及商品付款的界面。能對添加到購物車的商品進(jìn)行添加,刪除等簡單的操作。能正確的運(yùn)用jsp,selvlet,javaben。要注意連貫性,就是頁面的跳轉(zhuǎn)要連貫。3、課程詳細(xì)說明、調(diào)試 3.1課程設(shè)計流程圖商品展示商品展示添加購物車結(jié)賬從車中取出繼續(xù)購物選中3.2課程設(shè)計功能模塊圖購物車各文件對應(yīng)功能模塊表對應(yīng)模塊對應(yīng)文件對應(yīng)功能商品展示模塊EShop.jsp用于顯示商品的情況購物車模塊Cart.jsp用于顯示購物車的情況結(jié)賬模塊CheckOut.jsp用于顯示結(jié)賬的情況數(shù)據(jù)存儲模塊ShoppingServlete.java用于數(shù)據(jù)的存儲和計算商品處理模塊Book.java用于實現(xiàn)商品的對象化3.3課程源代碼結(jié)果調(diào)試示例(1)輸入正確的地址將會顯示的商品展示模塊頁面在瀏覽器中輸入http://localhost:8080/sq1/EShop.js:上面的商品展示界面對應(yīng)的關(guān)鍵代碼:………<formname="shoppingForm"action="bb"method="POST"><b>書目</b><selectname="Book"><option>簡愛/作者一/14.95</option><option>商務(wù)文件/作者二/16.95</option><option>勵志書/作者三/16.95</option><option>投標(biāo)書/作者四/13.95</option><option>白雪公主/作者五/14.95</option><option>小白看魔術(shù)/作者六/10.95</option></select><b>訂購數(shù)量:</b><inputtype="text"name="qty"size="3"value="1"/><inputtype="hidden"name="action"value="ADD"/><inputtype="submit"name="submit"value="添加到購物車"/></form></center><p/><jsp:includepage="Cart.jsp"/>………(2)對所展示的書籍又不熟悉的,點擊對應(yīng)的書籍我們設(shè)有詳細(xì)信息的超鏈接,看完信息后可以點擊“返回購物”從而回到展示頁面。點擊《簡愛》書籍:對于上面超鏈接部分的代碼:………<p><imgsrc="image/2.jpg"align="left"/><fontcolor="#000000"size="+1"face="宋體">《簡·愛》創(chuàng)作于英國謝菲爾德,是一部帶有自傳色彩的長篇小說,它闡釋了這樣一個主題:人的價值=尊嚴(yán)+愛?!逗啞邸分械暮啇廴松非笥袃蓚€基本旋律:富有激情、幻想、反抗和堅持不懈的精神;對人間自由幸福的渴望和對更高精神境界的追求。這本小說的主題是通過對孤女坎坷不平的人生經(jīng)歷,成功地塑造了一個不安于現(xiàn)狀、不甘受辱、敢于抗?fàn)幍呐孕蜗螅从骋粋€平凡心靈的坦誠傾訴的呼號和責(zé)難,一個小寫的人成為一個大寫的人的渴望。<br><br>內(nèi)容:<br><br>簡·愛是個孤女,出生于一個窮牧師家庭。父母由于染上傷寒,在一個月之中相繼去世。幼小的簡寄養(yǎng)在舅父母家里。舅父里德先生在紅房子中去世后,簡過了10年受盡歧視和虐待的生活。一次,由于反抗表哥的毆打,簡被關(guān)進(jìn)了紅房子。肉體上的痛苦和心靈上的屈辱和恐懼,使她大病了一場。<br>舅母把她視作眼中釘,并把她和自己的孩子隔離開來,從此,她與舅母的對抗更加公開和堅決了。以后,簡被送進(jìn)了洛伍德孤兒院。<br>孤兒院教規(guī)嚴(yán)厲,生活艱苦,院長是個冷酷的偽君子。簡在孤兒院繼續(xù)受到精神和肉體上的摧殘。由于惡劣的生活條件,孤兒院經(jīng)常有孩子病死,她最好的朋友海倫在一次大的斑疹傷寒中去世了。這次斑疹傷寒也使孤兒院有了大的改善。簡在新的環(huán)境下接受了六年的教育,并在這所學(xué)校任教兩年。由于譚波爾兒小姐的離開,簡厭倦了孤兒院里的生活,登廣告謀求家庭教師的職業(yè)</font></p><h2align="right"><ahref="EShop.jsp">返回購買</a></h2>………(3)點擊下拉列表選中自己喜歡的書籍,點擊“添加到購物車”就會到達(dá)購物車模塊的頁面,如果想刪除就點擊旁邊的“從購物車中取出”。購物車界面對應(yīng)的關(guān)鍵代碼:………<%for(intindex=0;index<buylist.size();index++){Bookbook=(Book)buylist.elementAt(index);%><tr><td><b><%=book.getArtist()%></b></td><td><b><%=book.getName()%></b></td><td><b><%=book.getPrice()%></b></td><td><b><%=book.getQuantity()%></b></td><td><formname="bb"method="POST"><inputtype="submit"value="從購物車中取出"><inputtype="hidden"name="delindex"value='<%=index%>'><inputtype="hidden"name="action"value="DELETE"></form></td></tr><%}%></table><p><formname="checkoutForm"action="bb"method="POST"><inputtype="hidden"name="action"value="CHECKOUT"><inputtype="submit"name="Checkout"value="結(jié)賬"></form>………如果以及確定要買的書籍就點擊下面的“結(jié)賬”,就會到達(dá)結(jié)賬功能模塊的頁面,這里將顯示你的支付情況。結(jié)賬頁面對應(yīng)的代碼附錄:……<tableborder="0"cellpadding="0"width="100%"><% Vectorbuylist=(Vector)session.getValue("shopping.shoppingcart"); Stringamount=(String)request.getAttribute("amount"); for(inti=0;i<buylist.size();i++) { Bookbook=(Book)buylist.elementAt(i);%><tr> <td><b><%=book.getArtist()%></b></td> <td><b><%=book.getName()%></b></td> <td><b><%=book.getPrice()%></b></td> <td><b><%=book.getQuantity()%></b></td></tr></table>………(6)關(guān)于數(shù)據(jù)的存儲模塊和商品的對象化模塊的代碼都會用到,下面對這兩個文件附錄一些關(guān)鍵的代碼:ShoppingServlet.java:……… 重寫doPost()方法:doPost(HttpServletRequestreq,HttpServletResponseres)throwsServletException,IOException{ res.setContentType("text/html;charset=GB2312"); req.setCharacterEncoding("GB2312"); HttpSessionsession=req.getSession(false); if(session==null) { res.sendRedirect("httP://localhost:8080/error.html"); } 獲取信息:Vectorbuylist=(Vector)session.getValue("shopping.shoppingcart"); Stringaction=req.getParameter("action"); if(!action.equals("CHECKOUT")){ if(action.equals("DELETE")){ Stringdel=req.getParameter("delindex"); intd=(newInteger(del)).intValue(); buylist.removeElementAt(d); } elseif(action.equals("ADD")){ booleanmatch=false; BookaBook=getBook(req); if(buylist==null){ buylist=newVector(); buylist.addElement(aBook); } else{ for(inti=0;i<buylist.size();i++){ Bookbook=(Book)buylist.elementAt(i); if(book.getName().equals(aBook.getName())){ book.setQuantity(book.getQuqntity()+aBook.getQuantity()); buylist.setElementAt(book,i); match=true; } } if(!match){ buylist.addElement(aBook); } } }結(jié)賬處理:elseif(action.equals("CHECKOUT")){ floattotal=0; for(inti=0;i<buylist.size();i++){ Bookbook=(Book)buylist.elementAt(i); floatprice=bool.getPrice(); intqty=book.getQuantity(); total+=(price*qty); } total+=0.005; Stringamount=newFloat(total).toString(); intn=amount.substring(0,n+3); amount=amoutn.substring(0,n+3);req.setAttribute("amount",amoutn);Stringurl="/Checkoun.jsp";ServletContextxc=getServletContext();RequestDispatcherrd=sc.getRequestDispatcher(url);rd.forward(req,res);………Book.java:實現(xiàn)商品的對象化……… publicBook(){artist="";name="";price=0;quantity=0;}publicvoidsetAlbum(Stringtitle){album=title;}publicStringgetAlbum(){retur

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論