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

正文內(nèi)容

基于java的網(wǎng)上商城系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文-資料下載頁(yè)

2025-02-26 09:49本頁(yè)面

【導(dǎo)讀】伴隨著inter的蓬勃發(fā)展,電子商務(wù)也取得了突飛猛進(jìn)的發(fā)展。之間的網(wǎng)上交易和在線電子支付的一種新型的商業(yè)運(yùn)作模式。不同領(lǐng)域的電子商。務(wù)網(wǎng)站的建立,給人們的生活帶來(lái)了巨大的影響。本論文就此網(wǎng)上購(gòu)物系統(tǒng)進(jìn)行。了詳細(xì)全面的論述。示層,后臺(tái)數(shù)據(jù)庫(kù)持久層,和基于JavaBean封裝的業(yè)務(wù)邏輯層。網(wǎng)上商城系統(tǒng)共分兩個(gè)部分:前臺(tái)用戶部分和后臺(tái)管理部份。商品信息的管理、用戶訂單的管理。作為一個(gè)購(gòu)物系統(tǒng),系統(tǒng)的安全性和實(shí)現(xiàn)購(gòu)。另外,系統(tǒng)用到的主要技術(shù)有JSP+servlet,AJAX和JavaBean,系統(tǒng)采用MySQL. 來(lái)設(shè)計(jì)數(shù)據(jù)庫(kù),使用MyEclipse開(kāi)發(fā)平臺(tái)。

  

【正文】 放大的圖片上改改相應(yīng)的 css,則可使用。 難點(diǎn)分析 分頁(yè) 本項(xiàng)目好多地方都用到了分頁(yè)技巧,雖效果差不多,但是其實(shí),所使用的方法都有所不同,下面我將分別說(shuō)說(shuō)我所使用的幾個(gè)分頁(yè)技巧。 ( 1) .后臺(tái)的表格都有分頁(yè)。因?yàn)楹笈_(tái)表格使用的 jGrid 表格插件,而該插件已經(jīng)將分頁(yè)代碼全都封裝,所以分頁(yè)代碼不用寫(xiě),只需自己設(shè)置一下,每頁(yè)顯示幾條數(shù)據(jù),然后 將頁(yè)數(shù)傳遞到服務(wù)器端,服務(wù)器端將根據(jù)相應(yīng)的頁(yè)數(shù),顯示當(dāng)前頁(yè)的所有信息。 ( 2) .前臺(tái)的顯示所有的商品列表及通過(guò)查詢找出的商品列表都是用到了分頁(yè),這個(gè)分頁(yè)是自己寫(xiě)的代碼, jsp 頁(yè)面這端自己封裝了個(gè) js方法,然后通過(guò) ajax 與服務(wù)器端連接,通過(guò)每頁(yè)顯示條數(shù),及需要顯示的哪一頁(yè),服務(wù)器端通過(guò)自己寫(xiě)的代碼,將把所有的查出的商品查出,然后顯示在 jsp頁(yè)面上。由于是自己寫(xiě)的代碼,所以分頁(yè)的,上一頁(yè),下一頁(yè)圖片都可以使用自己的圖片。 ( 3) .前臺(tái)的購(gòu)物車(chē)及訂單查看,分頁(yè)采用的技術(shù)是:使用 jsp 頁(yè)面分頁(yè)技術(shù)。 原理是:服務(wù)器返回全 部的信息, jsp 頁(yè)面上再根據(jù)提供的每頁(yè)顯示條數(shù),及當(dāng)前頁(yè)數(shù)顯示分頁(yè)信息。 使用:使用時(shí)只需要引入兩個(gè)包。 , 與上面第二個(gè)分頁(yè)不同的地方就在于它是頁(yè)面分頁(yè),而第二個(gè)是服務(wù)器分頁(yè),服務(wù)器端分頁(yè)需要每次都把數(shù)據(jù)傳到服務(wù)器端,然后服務(wù)器端把需要的內(nèi)容從數(shù)據(jù)庫(kù)中查出來(lái),然后在顯示在 jsp頁(yè)面上;而 jsp 分頁(yè)只需一次得到全部?jī)?nèi)容,在頁(yè)面上分頁(yè)即可,不需要每次都從服務(wù)器端取數(shù)據(jù),所以相對(duì)來(lái)說(shuō), jsp 頁(yè)面分頁(yè)比較方便,也比較快,使用起來(lái)也比較簡(jiǎn)單。 . 圖片的上傳技術(shù) 由于該項(xiàng)目采用 jsp+servlet 的技術(shù),而不是 struts(如果是 strut 的話,在服務(wù)器端直接就能得到上傳文件的名字,大小,等等),采用 servlet 后,則需要自己手動(dòng)寫(xiě)代碼,寫(xiě)上傳文件代碼,我此次上傳技術(shù),采用的是:通過(guò)流傳遞,把上傳的圖片,一個(gè)字節(jié)一個(gè)字節(jié)的傳到服務(wù)器端,需要引入的兩個(gè)包有: 和,服務(wù)器端代碼具體如下: String value = ()。 int start = (\\)。 String fileName = (start + 1)。 Random random = new Random()。 fileName = (fileName, path, random)。 photo=fileName。 (new File(path, fileName))。 OutputStream os = new FileOutputStream(new File(path, fileName))。 InputStream is = ()。 byte[] buffer = new byte[400]。 int length = 0。 while((length = (buffer)) != 1) { (buffer, 0, length)。 } ()。 ()。 但是需要注意的是:在刪除圖片時(shí),必須把圖片也刪除,不僅僅是把數(shù)據(jù)庫(kù)里面的圖片地址刪除。 .購(gòu)物車(chē)模塊 本項(xiàng)目購(gòu)物車(chē)模塊,我才用的是 session 技術(shù)。 Session 技術(shù)原理:在 WEB 開(kāi)發(fā)中,服務(wù)器可以為每個(gè)用戶瀏覽器創(chuàng)建一個(gè)會(huì)話對(duì)象( session 對(duì)象),注意:一個(gè)瀏覽器獨(dú)占一個(gè) session 對(duì)象 (默 認(rèn)情況下 )。因此,在需要保存用戶數(shù)據(jù)時(shí),服務(wù)器程序可以把用戶數(shù)據(jù)寫(xiě)到用戶瀏覽器獨(dú)占的 session 中,當(dāng)用戶使用瀏覽器訪問(wèn)其它程序時(shí),其它程序可以從用戶的 session 中取出該用戶的數(shù)據(jù),為用戶服務(wù)。 Session 是 用于保持狀態(tài)的基于 Web 服務(wù)器 的方法。 Session 允許通過(guò)將對(duì)象存儲(chǔ)在 Web 服務(wù)器 的 內(nèi)存中在整個(gè)用戶會(huì)話過(guò)程中保持任何對(duì)象。 Session 通常用于執(zhí)行以下操作: 存儲(chǔ)需要在整個(gè)用戶會(huì)話過(guò)程中保持其狀態(tài)的信息,例如登錄信息或用戶瀏覽 Web 應(yīng)用程序 時(shí)需要的其它信息。存儲(chǔ)只需要在頁(yè)重新加載過(guò)程中或按功能分組的一組頁(yè)之間保持其狀態(tài)的對(duì)象。 Session 的作用就是它在 Web 服務(wù)器 上保持用戶的 狀態(tài)信息 供在任何時(shí)間從任何頁(yè)訪問(wèn)。因?yàn)?瀏覽器 不需要存儲(chǔ)任何這種信息,所以可以使用任何瀏覽器,即使是像 PDA 或手機(jī)這樣的瀏覽器設(shè)備。說(shuō)到 session 就會(huì)想到 cookies, Session 和Cookie 的主要區(qū)別在于: Cookie 是把用戶的數(shù)據(jù)寫(xiě)給用戶的瀏覽器。 Session 技術(shù)把用戶的數(shù)據(jù)寫(xiě)到用 戶獨(dú)占的session 中。 Session 對(duì)象由服務(wù)器創(chuàng)建,開(kāi)發(fā)人員可以調(diào)用 request 對(duì)象的 getSession方法得到 session 對(duì)象。 session 失效的方法: ()。session 的有效時(shí)間: 30 分鐘,在 中配置 session 的有效時(shí)間: 在 webapp 標(biāo)簽中設(shè)置如下: sessionconfig sessiontimeout60/sessiontimeout 單位是分鐘 /sessionconfig 默認(rèn)設(shè)置是在 tomcat 中: 另外,需要知道的是 session 的生命周期:從創(chuàng)建出來(lái) session 開(kāi)始 默認(rèn)情況下如果瀏覽器窗口關(guān)了, session 失效瀏覽器窗口沒(méi)有關(guān),但是 seesion 的有效期到了瀏覽器的窗口關(guān)了,但是 session 的唯一標(biāo)識(shí)用 cookie 保存下來(lái)了,只要 session 的有效期沒(méi)有到,則 session 都是有效的 應(yīng)用程序停止, session 失效 作用范圍:只要在瀏覽器窗口沒(méi)有關(guān),通過(guò)這個(gè)窗口發(fā)送的請(qǐng)求就都可以得到 整個(gè)應(yīng)用程序中都有效,但是是瀏覽器獨(dú)享的。 ()得到 /創(chuàng)建 session (true) 相當(dāng)于 () (false) 沒(méi)有 session就返回 null 瀏覽器的版本: ie8 中同一個(gè)瀏覽器打開(kāi)兩個(gè)窗口是共享 session 的。但是 ie7 中就不是同一個(gè)瀏覽器打開(kāi)兩個(gè)窗口是不共享 session 的 使用 session 注意點(diǎn): IE 禁用 Cookie 后的 session 處理 :URL 重寫(xiě)( url) 用于對(duì) sendRedirect 方法后的 url 地址進(jìn)行重寫(xiě)。 response. encodeURL( url) 用于對(duì)表單 action 和超鏈接的 url 地址進(jìn)行重寫(xiě)。 本項(xiàng)目中的購(gòu)物車(chē)模塊就是把購(gòu)物車(chē)放到 session 域里面,這樣不管到了那個(gè)頁(yè)面,都可以通過(guò) session 的屬性得到該購(gòu)物車(chē),并可以通過(guò)自己寫(xiě)方法,實(shí)現(xiàn)購(gòu)物車(chē)增加商品,刪除商品。購(gòu)物車(chē)代碼主要如下: public class MyCart { HashMapString,Product hm=new HashMapString,Product()。 //添加 //添加方法 1 public void addProduct(String id,Product product){ if((id)){ //如果已經(jīng)購(gòu)買(mǎi) product=(id)。 int shoppingNum=()。 (shoppingNum+1)。 }else{ (id, product)。 } } //添加方法 2 public void addProduct2(String id){ if((id)){ //如果已經(jīng)購(gòu)買(mǎi) Product p=(id)。 int shoppingNum=()。 (shoppingNum+1)。 }else{ (id, ((id)))。 } } //刪除 public void delProduct(String id){ (id)。 } //更新 (更新購(gòu)買(mǎi)的 dongxi數(shù)量 ) public void updateProduct(String id,String nums){ //取出 id對(duì)應(yīng)的 book Product p=(id)。 ((nums))。 } //清空 public void clearProduct(){ ()。 } //顯示該購(gòu)物車(chē)中的所有商品信息 public ArrayList ShowMyCart(){ ArrayListProduct arr=new ArrayListProduct()。 //遍歷 hashmap Iterator it=().iterator()。 while(()){ //取出 key String id=(String) ()。 Product p=(id)。 (p)。 } return arr。 } //計(jì)算總價(jià) public float getTotalPrice(){ float totalPrice=。 Iterator it=().iterator()。 while(()){ String productId=(String) ()。 Product p=(productId)。 totalPrice+=()*()。 } return totalPrice。 } } 主要利用 Session 實(shí)現(xiàn)一次性驗(yàn)證碼。 一次性驗(yàn)證碼的主要目的就是為了限制人們利用工具軟件來(lái)暴力猜測(cè)密碼。 服務(wù)器程序接收到表單數(shù)據(jù)后,首先判斷用戶是否填寫(xiě)了正確的驗(yàn)證碼,只有該驗(yàn)證碼與服務(wù)器端保存的驗(yàn)證碼匹配時(shí),服務(wù)器程 序才開(kāi)始正常的表單處理流程。密碼猜測(cè)工具要逐一嘗試每個(gè)密碼的前題條件是先輸入正確的驗(yàn)證碼,而驗(yàn)證碼是一次性有效的,這樣基本上就阻斷了密碼猜測(cè)工具的自動(dòng)地處理過(guò)程。 本項(xiàng)目中注冊(cè)是使用到了驗(yàn)證碼技術(shù)。代碼主要如下: public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { (img/jpeg)。 //圖片的內(nèi)存映像 BufferedImage image = new BufferedImage(60,20,)。 //獲得畫(huà)筆對(duì)象 Graphics g = ()。 Random r = new Random()。 (new Color((255),(255),(255)))。 (0, 0, 60, 20)。 (new Color(0,0,0))。 String number = (99999)+。 (number, 5, 15)。 (new Color((255),(255),(255)))。 ((60), (20), (), ())。 //壓縮成 jpeg格式 OutputStream os = ()。 JPEGImageEncoder encoder = (os)。 //把 BufferedImage對(duì)象中的圖像信息編碼后向創(chuàng)建蓋度 uixiang( encoder)時(shí)指定的輸出 (image)。 ().setAttribute(check_code,number)。 } . md5 加密技術(shù) MD5 即 MessageDigest Algorithm 5(信息 摘要 算法 5),用于確保信息傳輸完整一致。是計(jì)算機(jī)廣泛使用的雜湊算法之一(又譯摘要算法、 哈希算法 ),主流編程語(yǔ)言普遍已有MD5 實(shí)現(xiàn)。 MD5 的典型應(yīng)用是對(duì)一段信息( Message)產(chǎn)生 信息摘要( MessageDigest),以防止被篡改。比如,在 UNⅨ下有很多軟件在下載的時(shí)候都有一個(gè)文件名相同,文件擴(kuò)展名為 .md5 的文件,在這個(gè)文件中通常只有一行文本,大致結(jié)構(gòu)如: MD5 () = 0ca175b9c0f726a831d895e269332461 這就是 文件的數(shù)字簽名。 MD5 將整個(gè)文件當(dāng)作一個(gè)大文本信息,通過(guò)其不可逆的字符串變換算法,產(chǎn)生了這個(gè)唯一的 MD5信息摘要。原理是: 原理 對(duì) MD5 算法簡(jiǎn)要的敘述可以為: MD5 以 512 位分組來(lái)處 理輸入的信息,且每一分組又被劃分為 16 個(gè) 32位子分組,經(jīng)過(guò)了一系列的處理后,算法的輸出由四個(gè) 32 位分組組成,將這四個(gè) 32位分組級(jí)聯(lián)后將生成一個(gè) 128 位散列值。在 MD5 算法中,首先需要對(duì)信息進(jìn)行填充,使其位長(zhǎng)對(duì) 512 求余的結(jié)果等于 448。因此,信息的位長(zhǎng)( Bits Length)將被擴(kuò)展至 N*512+448, N 為一個(gè)非負(fù)整數(shù), N 可以是零。填充的方法如下,在信息的后面填充一個(gè) 1和無(wú)數(shù)個(gè) 0,直到滿足上面的條件時(shí) 才停止用 0 對(duì)信息的填充。然后,在這個(gè)結(jié)果后面
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1