freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于jsp的網(wǎng)上購(gòu)書(shū)系統(tǒng)畢業(yè)論文(參考版)

2025-06-29 22:08本頁(yè)面
  

【正文】 最后還要感謝我的同學(xué)和朋友對(duì)我的關(guān)心和幫助,開(kāi)發(fā)工作永遠(yuǎn)是一個(gè)需要團(tuán)結(jié)合作才能做好的工作,雖然畢業(yè)設(shè)計(jì)是自己獨(dú)立完成的,但在設(shè)計(jì)過(guò)程中很多問(wèn)題都是通過(guò)同學(xué)的幫助解決的,他們的幫助讓我少走了不少?gòu)澛?,一起研究程序的?jīng)歷讓人難忘。同時(shí)也使我對(duì)軟件開(kāi)發(fā)有了一定得了解,并掌握了使用JSP開(kāi)發(fā)的基本能力。它為我們?cè)谝院蟮膶W(xué)習(xí)和工作的過(guò)程中發(fā)揮自己的才能奠定了堅(jiān)實(shí)的基礎(chǔ)。特別是在論文書(shū)寫(xiě)過(guò)程中給予我的幫助,這一次論文的書(shū)寫(xiě)讓我的文檔書(shū)寫(xiě)水平有了很大的提高,改掉了過(guò)去很多的書(shū)寫(xiě)不規(guī)范的毛病。但是也發(fā)現(xiàn)了自身的諸多不足,相信通過(guò)以后的不斷學(xué)習(xí)與實(shí)踐,一定會(huì)有更多的收獲的。例如:由于沒(méi)有弄清起始頁(yè)問(wèn)題,沒(méi)有完成分頁(yè)功能;由于沒(méi)有處理好bookid,刪除圖書(shū)的操作沒(méi)能實(shí)現(xiàn)。程序中注釋寫(xiě)得盡量規(guī)范,因此可讀性與可維護(hù)性也比較好。由于使用了MVC開(kāi)發(fā)模型,使得各模塊具有一定的獨(dú)立性,因此系統(tǒng)的可重用性也比較高。實(shí)現(xiàn)時(shí)主要用到了MVC模型。并且在完成的過(guò)程中,對(duì)于一些當(dāng)前主流開(kāi)發(fā)技術(shù)也有了進(jìn)一步的了解,真正開(kāi)發(fā)一個(gè)項(xiàng)目后,所得到的收獲是遠(yuǎn)遠(yuǎn)比單純的看書(shū)學(xué)習(xí)要多得多的。我認(rèn)為,網(wǎng)上購(gòu)書(shū)系統(tǒng)的開(kāi)發(fā)對(duì)于即將從事軟件開(kāi)發(fā)的人來(lái)說(shuō)是一個(gè)很不錯(cuò)的鍛煉機(jī)會(huì),特別對(duì)于面向web開(kāi)發(fā)的人來(lái)說(shuō)更是如此。對(duì)系統(tǒng)登錄權(quán)限的設(shè)置使系統(tǒng)更加安全了。根據(jù)操作人員權(quán)限的不同級(jí)別設(shè)置,來(lái)給定該操作人員的操作權(quán)限,以防止非系統(tǒng)管理員對(duì)系統(tǒng)圖書(shū)和用戶訂單的更改,確保了系統(tǒng)中數(shù)據(jù)的安全。 系統(tǒng)安全性能 為了保證系統(tǒng)的安全性,設(shè)置了過(guò)濾器和安全驗(yàn)證功能。Servlet是Java技術(shù)對(duì)CGI編程的回答,Servlet程序在服務(wù)器端運(yùn)行,動(dòng)態(tài)地生成Web頁(yè)面。JSP的設(shè)計(jì)目標(biāo)主要是提供一種更為簡(jiǎn)便、有效的動(dòng)態(tài)網(wǎng)頁(yè)編寫(xiě)手段,并且增強(qiáng)網(wǎng)頁(yè)程序的獨(dú)立性、兼容性和可重用性。 } catch (OrderServiceException e) { ()。 (orderlines,orderlines)。 //與orderinfo頁(yè)面的${}對(duì)應(yīng) (orderform, orderform)。 } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Long orderid=new Long((orderid))。 public void init() { orderservice=(IOrderService)()。}} 訂單明細(xì)部分當(dāng)用戶在訂單列表列表界面上的每個(gè)訂單后點(diǎn)擊“明細(xì)”時(shí),請(qǐng)求就進(jìn)入Orderinfo中,系統(tǒng)調(diào)用OrderinfoServlet中doGet和doPost方法,此Action將請(qǐng)求轉(zhuǎn)發(fā)到:8888/estore_jsp/,此時(shí)頁(yè)面就跳轉(zhuǎn)到進(jìn)入訂單明細(xì)界面,該頁(yè)面包含每條訂單的購(gòu)書(shū)信息。 } catch (OrderServiceException e) { // TODO Autogenerated catch block ()。 try { orderforms = (())。 //在整個(gè)應(yīng)用范圍查找orderforms //MapLong,Orderform orderforms=(MapLong, Orderform) ().getAttribute(orderform)。 }public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { HttpSession session=()。 public void init() { orderService=(IOrderService)()。}}} 用戶訂單管理模塊的設(shè)計(jì) 訂單列表部分當(dāng)用戶在圖書(shū)列表界面上點(diǎn)擊“查看用戶訂單”時(shí),請(qǐng)求就進(jìn)入ListOrderServlet中,此Action將請(qǐng)求轉(zhuǎn)發(fā)到:8888/estore_jsp/,該頁(yè)面包含訂單號(hào)、下單時(shí)間、訂單金額和操作信息,用戶和管理員可以根據(jù)需要?jiǎng)h除已下訂單。 } catch (OrderServiceException e) { ()。 } try { //因?yàn)橛屑?jí)聯(lián)關(guān)系所以保存order就保存了和它級(jí)聯(lián)的對(duì)象 (order)。 } try { (c)。 for(Orderline line:lines) { //建立orderform與orderline的雙向關(guān)系 ().add(line)。 (())。 //指定定單的擁有人 (customer)。 ShoppingCart cart=(ShoppingCart) (cart)。 (())。 (())。 (())。 (())。 Customer customer=(Customer)(customer)。 } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doPost(request,response)。 public void init() {orderService=(IOrderService)()。其實(shí)現(xiàn)效果圖如圖423所示:圖423 購(gòu)物清單界面部分實(shí)現(xiàn)代碼如下:public class ConfirmServlet extends HttpServlet { private IOrderService orderService。}//判斷購(gòu)物車是否為空public boolean isEmpty(){ 用戶信息部分和購(gòu)物清單部分當(dāng)點(diǎn)擊“提交訂單”時(shí),請(qǐng)求就進(jìn)入ListOrderServlet中,調(diào)用其中的doPost方法,執(zhí)行這個(gè)Action中的操作,執(zhí)行完之后就進(jìn)行內(nèi)部跳轉(zhuǎn)和外部重定向,跳轉(zhuǎn)到根目錄的確認(rèn)訂單頁(yè)面中,該頁(yè)面從數(shù)據(jù)庫(kù)中取到了用戶的姓名、送貨地址、Email等注冊(cè)信息和用戶所購(gòu)圖書(shū)的信息。}return cost。CollectionOrderline c = getOrderlines()。} //獲得所有Orderlinepublic CollectionOrderline getOrderlines() {return ()。} //刪除Orderlinepublic void dropLine(Long lineid) { (lineid)。 if(orderline != null) (())。購(gòu)物車界面如圖422所示:圖43 購(gòu)物車列表界面其部分實(shí)現(xiàn)代碼如下:public class ShoppingCart {private MapLong,Orderline cart = new TreeMapLong,Orderline()。 } 購(gòu)物車部分當(dāng)點(diǎn)擊“查看購(gòu)物車”時(shí),就調(diào)用ClearCartServlet中的doGet和doPost方法,通過(guò)service調(diào)用相應(yīng)dao層的方法,這個(gè)Action將已購(gòu)買的書(shū)名信息和數(shù)量信息導(dǎo)入購(gòu)物車,此時(shí)頁(yè)面就跳轉(zhuǎn)到“購(gòu)物車列表”頁(yè)面上了,用戶可以看到剛剛購(gòu)買過(guò)的圖書(shū)的書(shū)名、數(shù)量、總價(jià)等信息出現(xiàn)在購(gòu)物車列表里。 ((),book)。 MapLong,Book books=new TreeMapLong,Book()。 Query query=(hql)。%+price+%39。%+name+%39。 //轉(zhuǎn)換為string類型 Session session=()。 //if(!unlimited.equals(provincecity)) // (=+provincecity+)。)。 //sql語(yǔ)句放到buffer中 //if(price!=) // ( or price = 39。%+name+%39。 (from Book where 1=1)。}最后,通過(guò)調(diào)用dao層的findbook方法,與數(shù)據(jù)庫(kù)進(jìn)行交互:public MapLong,Book findBook(String name) throws Exception { (***調(diào)用函數(shù)了***)。 //查找書(shū)籍 MapLong,Book listBook(String name) throws OrderServiceException。 //查找單個(gè)訂單 Orderform findOrderById(Long orderid) throws OrderServiceException。 //刪除訂單 void delOrder(Long orderid) throws OrderServiceException。 } catch (OrderServiceException e) { ()。 //與orderinfo頁(yè)面的${}對(duì)應(yīng) (books, book)。 MapLong, Book book。 (name+這是Servlet取值)。 }public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //把頁(yè)面取得在內(nèi)容轉(zhuǎn)換成Utf8類型 (UTF8)。 public void init() throws ServletException { orderservice=(IOrderService)()。例如,在本系統(tǒng)關(guān)鍵字的文本框中輸入“數(shù)據(jù)結(jié)構(gòu)”四個(gè)字,點(diǎn)擊“刷新”按鈕便可以檢索出《數(shù)據(jù)結(jié)構(gòu)》、《數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí)指導(dǎo)與習(xí)題解答》兩本書(shū)名中包含“數(shù)據(jù)結(jié)構(gòu)”的書(shū);同理,若輸入的關(guān)鍵字為“數(shù)據(jù)”,便會(huì)檢索出《數(shù)據(jù)結(jié)構(gòu)》、《數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí)指導(dǎo)
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1