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

正文內(nèi)容

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

2025-02-26 09:49本頁面

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

  

【正文】 放大的圖片上改改相應(yīng)的 css,則可使用。 難點(diǎn)分析 分頁 本項(xiàng)目好多地方都用到了分頁技巧,雖效果差不多,但是其實(shí),所使用的方法都有所不同,下面我將分別說說我所使用的幾個(gè)分頁技巧。 ( 1) .后臺(tái)的表格都有分頁。因?yàn)楹笈_(tái)表格使用的 jGrid 表格插件,而該插件已經(jīng)將分頁代碼全都封裝,所以分頁代碼不用寫,只需自己設(shè)置一下,每頁顯示幾條數(shù)據(jù),然后 將頁數(shù)傳遞到服務(wù)器端,服務(wù)器端將根據(jù)相應(yīng)的頁數(shù),顯示當(dāng)前頁的所有信息。 ( 2) .前臺(tái)的顯示所有的商品列表及通過查詢找出的商品列表都是用到了分頁,這個(gè)分頁是自己寫的代碼, jsp 頁面這端自己封裝了個(gè) js方法,然后通過 ajax 與服務(wù)器端連接,通過每頁顯示條數(shù),及需要顯示的哪一頁,服務(wù)器端通過自己寫的代碼,將把所有的查出的商品查出,然后顯示在 jsp頁面上。由于是自己寫的代碼,所以分頁的,上一頁,下一頁圖片都可以使用自己的圖片。 ( 3) .前臺(tái)的購物車及訂單查看,分頁采用的技術(shù)是:使用 jsp 頁面分頁技術(shù)。 原理是:服務(wù)器返回全 部的信息, jsp 頁面上再根據(jù)提供的每頁顯示條數(shù),及當(dāng)前頁數(shù)顯示分頁信息。 使用:使用時(shí)只需要引入兩個(gè)包。 , 與上面第二個(gè)分頁不同的地方就在于它是頁面分頁,而第二個(gè)是服務(wù)器分頁,服務(wù)器端分頁需要每次都把數(shù)據(jù)傳到服務(wù)器端,然后服務(wù)器端把需要的內(nèi)容從數(shù)據(jù)庫中查出來,然后在顯示在 jsp頁面上;而 jsp 分頁只需一次得到全部?jī)?nèi)容,在頁面上分頁即可,不需要每次都從服務(wù)器端取數(shù)據(jù),所以相對(duì)來說, jsp 頁面分頁比較方便,也比較快,使用起來也比較簡(jiǎn)單。 . 圖片的上傳技術(shù) 由于該項(xiàng)目采用 jsp+servlet 的技術(shù),而不是 struts(如果是 strut 的話,在服務(wù)器端直接就能得到上傳文件的名字,大小,等等),采用 servlet 后,則需要自己手動(dòng)寫代碼,寫上傳文件代碼,我此次上傳技術(shù),采用的是:通過流傳遞,把上傳的圖片,一個(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ù)庫里面的圖片地址刪除。 .購物車模塊 本項(xiàng)目購物車模塊,我才用的是 session 技術(shù)。 Session 技術(shù)原理:在 WEB 開發(fā)中,服務(wù)器可以為每個(gè)用戶瀏覽器創(chuàng)建一個(gè)會(huì)話對(duì)象( session 對(duì)象),注意:一個(gè)瀏覽器獨(dú)占一個(gè) session 對(duì)象 (默 認(rèn)情況下 )。因此,在需要保存用戶數(shù)據(jù)時(shí),服務(wù)器程序可以把用戶數(shù)據(jù)寫到用戶瀏覽器獨(dú)占的 session 中,當(dāng)用戶使用瀏覽器訪問其它程序時(shí),其它程序可以從用戶的 session 中取出該用戶的數(shù)據(jù),為用戶服務(wù)。 Session 是 用于保持狀態(tài)的基于 Web 服務(wù)器 的方法。 Session 允許通過將對(duì)象存儲(chǔ)在 Web 服務(wù)器 的 內(nèi)存中在整個(gè)用戶會(huì)話過程中保持任何對(duì)象。 Session 通常用于執(zhí)行以下操作: 存儲(chǔ)需要在整個(gè)用戶會(huì)話過程中保持其狀態(tài)的信息,例如登錄信息或用戶瀏覽 Web 應(yīng)用程序 時(shí)需要的其它信息。存儲(chǔ)只需要在頁重新加載過程中或按功能分組的一組頁之間保持其狀態(tài)的對(duì)象。 Session 的作用就是它在 Web 服務(wù)器 上保持用戶的 狀態(tài)信息 供在任何時(shí)間從任何頁訪問。因?yàn)?瀏覽器 不需要存儲(chǔ)任何這種信息,所以可以使用任何瀏覽器,即使是像 PDA 或手機(jī)這樣的瀏覽器設(shè)備。說到 session 就會(huì)想到 cookies, Session 和Cookie 的主要區(qū)別在于: Cookie 是把用戶的數(shù)據(jù)寫給用戶的瀏覽器。 Session 技術(shù)把用戶的數(shù)據(jù)寫到用 戶獨(dú)占的session 中。 Session 對(duì)象由服務(wù)器創(chuàng)建,開發(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)建出來 session 開始 默認(rèn)情況下如果瀏覽器窗口關(guān)了, session 失效瀏覽器窗口沒有關(guān),但是 seesion 的有效期到了瀏覽器的窗口關(guān)了,但是 session 的唯一標(biāo)識(shí)用 cookie 保存下來了,只要 session 的有效期沒有到,則 session 都是有效的 應(yīng)用程序停止, session 失效 作用范圍:只要在瀏覽器窗口沒有關(guān),通過這個(gè)窗口發(fā)送的請(qǐng)求就都可以得到 整個(gè)應(yīng)用程序中都有效,但是是瀏覽器獨(dú)享的。 ()得到 /創(chuàng)建 session (true) 相當(dāng)于 () (false) 沒有 session就返回 null 瀏覽器的版本: ie8 中同一個(gè)瀏覽器打開兩個(gè)窗口是共享 session 的。但是 ie7 中就不是同一個(gè)瀏覽器打開兩個(gè)窗口是不共享 session 的 使用 session 注意點(diǎn): IE 禁用 Cookie 后的 session 處理 :URL 重寫( url) 用于對(duì) sendRedirect 方法后的 url 地址進(jìn)行重寫。 response. encodeURL( url) 用于對(duì)表單 action 和超鏈接的 url 地址進(jìn)行重寫。 本項(xiàng)目中的購物車模塊就是把購物車放到 session 域里面,這樣不管到了那個(gè)頁面,都可以通過 session 的屬性得到該購物車,并可以通過自己寫方法,實(shí)現(xiàn)購物車增加商品,刪除商品。購物車代碼主要如下: public class MyCart { HashMapString,Product hm=new HashMapString,Product()。 //添加 //添加方法 1 public void addProduct(String id,Product product){ if((id)){ //如果已經(jīng)購買 product=(id)。 int shoppingNum=()。 (shoppingNum+1)。 }else{ (id, product)。 } } //添加方法 2 public void addProduct2(String id){ if((id)){ //如果已經(jīng)購買 Product p=(id)。 int shoppingNum=()。 (shoppingNum+1)。 }else{ (id, ((id)))。 } } //刪除 public void delProduct(String id){ (id)。 } //更新 (更新購買的 dongxi數(shù)量 ) public void updateProduct(String id,String nums){ //取出 id對(duì)應(yīng)的 book Product p=(id)。 ((nums))。 } //清空 public void clearProduct(){ ()。 } //顯示該購物車中的所有商品信息 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)證碼的主要目的就是為了限制人們利用工具軟件來暴力猜測(cè)密碼。 服務(wù)器程序接收到表單數(shù)據(jù)后,首先判斷用戶是否填寫了正確的驗(yàn)證碼,只有該驗(yàn)證碼與服務(wù)器端保存的驗(yàn)證碼匹配時(shí),服務(wù)器程 序才開始正常的表單處理流程。密碼猜測(cè)工具要逐一嘗試每個(gè)密碼的前題條件是先輸入正確的驗(yàn)證碼,而驗(yàn)證碼是一次性有效的,這樣基本上就阻斷了密碼猜測(cè)工具的自動(dòng)地處理過程。 本項(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,)。 //獲得畫筆對(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ī)廣泛使用的雜湊算法之一(又譯摘要算法、 哈希算法 ),主流編程語言普遍已有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è)大文本信息,通過其不可逆的字符串變換算法,產(chǎn)生了這個(gè)唯一的 MD5信息摘要。原理是: 原理 對(duì) MD5 算法簡(jiǎn)要的敘述可以為: MD5 以 512 位分組來處 理輸入的信息,且每一分組又被劃分為 16 個(gè) 32位子分組,經(jīng)過了一系列的處理后,算法的輸出由四個(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和無數(shù)個(gè) 0,直到滿足上面的條件時(shí) 才停止用 0 對(duì)信息的填充。然后,在這個(gè)結(jié)果后面
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1