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

正文內(nèi)容

通用電子商務平臺項目_計算機專業(yè)畢業(yè)論文(編輯修改稿)

2024-10-01 08:01 本頁面
 

【文章內(nèi)容簡介】 (20) not null 收貨人手機 8) d_item: 訂單明細信息表 負責存儲了訂單包含的哪些商品 ,單價 ,數(shù)量等信息 字段名稱 類型 約束 描述 id int(12) PK 訂單號 orders_id int(10) auto_increment / PK 貨物 ID product_id int(10) not null 產(chǎn)品 ID product_name varchar(100) not null 產(chǎn)品名字 dang_price double not null 熱銷價 product_number int(10) not null 產(chǎn)品數(shù)量 amount double not null 產(chǎn)品價格 16 第 5 章 系統(tǒng)的詳細設計 實現(xiàn) 數(shù)據(jù)庫與 POJO映射的實現(xiàn) Hibernate 可以通過一個 XML 的 mapping 文件把一個 POJO( Plain old java object)和數(shù)據(jù)庫中的表對應起來,在這個 XML 文件(一般命名為*.)中,我們可以配置好 Object 和數(shù)據(jù)庫中表的映射關系,然后把這個 mapping 加入到 中,這樣 Hibernate 在啟動時就可以加載這些 mapping,并可以根據(jù)配置文件對對象實現(xiàn)自動的加載,并且可以對這些 Object實習自動的維護。由于 Spring提供了對 Hibernate的集成,所以我們可以不配置 文件,而通過在 文件中進行相關配置來達到同樣的目的。 用戶 模塊的設計說明 用戶模塊主要實現(xiàn)了用戶注冊、登入 /登出、修改信息、查看訂單等功能,用戶模塊結(jié)構(gòu)功能如圖 所示。 圖 用戶 模塊 功能結(jié)構(gòu)圖 用戶注冊 模塊 系 統(tǒng)采用了 JQuery( )進行表單數(shù)據(jù)基本驗證,注冊頁面 表單中的數(shù)據(jù)只要有一項不符合驗證規(guī)則的數(shù)據(jù),則表單提交按鈕失效。為了保證用戶注冊的郵箱名在數(shù)據(jù)庫中是唯一的,使用了 Ajax 技術向服務器發(fā)送異步請求,如果數(shù)據(jù)庫中已經(jīng)存在,則在頁面上提示用戶“此郵箱已經(jīng)被占用”的錯誤消息,用戶注 用戶模塊 用戶注冊 用戶登錄 用戶登出 用戶信息修改 17 冊流程如圖 所示。 圖 注冊流程圖 圖 郵箱惟一驗證效果界面 18 為了防止機器人搗亂胡亂注冊,系統(tǒng)注冊采用了圖片驗證碼認證。驗證碼圖片是用 Java awt 包中的 Color、 Graphics、 BufferedImage 等類畫出來的。服務器只要一生成驗證碼就把它保存在 session 中,用于提交表單時與用戶輸入的驗證碼比較,如果不一致,提示用戶“驗證碼出錯”,這時用戶可以點擊后面鏈接獲取新的驗證碼,重新輸入。點擊后面的鏈接實際上是向服務器的 CheckCodeAction 發(fā)送請求,重新生成驗證碼。但是為了讓瀏覽器能夠每次執(zhí)行這個請求, 必須讓請求地址產(chǎn)生變化,否則瀏覽器默認是已經(jīng)請求過的地址,不會重新請求一遍。 方法如下: onclick=(39。imgVcode39。) .src=39。../?39。+(new Date()).getTime()。 圖片驗證碼生成代碼如下 (ValiImageAction): public class ValiImageAction extends ActionSupport implements SessionAware { private MapString,Object session。 //驗證碼 private StringBuffer number。 // 輸入流屬性 private InputStream input。 // get和 set方法 public InputStream getInput() { return input。 } public void setInput(InputStream input) { = input。 } public String execute() throws Exception { byte[] image = ()。 (valicode,())。 19 = new ByteArrayInputStream(image)。 return SUCCESS。 } private static int WIDTH=100。//驗證碼的寬度 private static int HEIGHT=40。//驗證碼的高度 private static int NUM=4。//驗證碼位數(shù) //驗證碼字符 private static char[] seq={39。A39。,39。B39。,39。C39。,39。D39。,39。E39。,39。F39。,39。G39。,39。H39。,39。I39。,39。J39。,39。K39。,39。L39。,39。M39。,39。N39。,39。O39。,39。P39。,39。Q39。,39。R39。,39。S39。,39。T39。,39。U39。,39。V39。,39。W39。,39。X39。,39。Y39。,39。Z39。,39。039。,39。139。,39。239。, 39。339。,39。439。,39。539。,39。639。,39。739。,39。839。,39。939。}。 private byte[] randomImage(){ Random r = new Random()。 //圖片的內(nèi)存映像 BufferedImage image= new BufferedImage(WIDTH,HEIGHT,B)。 //獲得畫筆對象 Graphics g=()。 (randomColor(r))。 (0,0,WIDTH,HEIGHT)。 (new Color(0,0,0))。 //用 于存儲隨機生成的驗證碼 = new StringBuffer()。 //繪制驗證碼 for(int i=0。iNUM。i++){ (randomColor(r))。 int h=(int) ((HEIGHT*60/100)*()+(HEIGHT*30/100))。 20 (new Font(null,|,h))。 String ch=(seq[()])。 (ch)。 (ch, i*WIDTH/NUM*90/100, h)。 } (驗證碼 :+number)。 //繪制干擾線 for(int i=0。i=12。i++){ (randomColor(r))。 ((WIDTH), (HEIGHT), (WIDTH), (HEIGHT))。 } ByteArrayOutputStream os=new ByteArrayOutputStream()。 JPEGImageEncoder encoder=(os)。 //把 BufferedImage對象中的圖像信息編碼后 //向創(chuàng)建該對象 (encoder)時指定的輸出流輸出 try{ (image)。 return ()。 }catch(Exception e){ ()。 throw new RuntimeException(e)。 } } 21 private Color randomColor(Random r){ return new Color((255),(255),(255))。 } public void setSession(MapString, Object arg0) { =arg0。 } } 密碼采用了加密算法,工具類代碼如下: public class EncryptUtil { private static String encrypt(String str,String algorithm) throws Exception { MessageDigest md = (algorithm)。 byte[] bts = (())。 //將 bts轉(zhuǎn)換成字符串 BASE64Encoder encoder = new BASE64Encoder()。 return (bts)。 } public static String encryptMD5(String s){ try { String retVal = encrypt(s,MD5)。 return retVal。 } catch (Exception e) { ()。 return 。 } } public static String encryptSHA(String s){ 22 try { String retVal = encrypt(s,SHA)。 return retVal。 } catch (Exception e) { ()。 return 。 } } } 如果 ,點擊提交按鈕將轉(zhuǎn)到注冊第二步,也就是郵箱驗證頁面 ,同時把上一步產(chǎn)生的驗證碼寫入數(shù)據(jù)庫中。系統(tǒng)沒有聯(lián)網(wǎng)模塊,這里只把驗證碼輸出在頁面上,方便測試。郵箱驗證碼是采用 JDK 中的 UUID 類隨機生成的字符串再加上用戶的 ID 作為后綴生成。如果用戶輸入錯誤或者不輸驗證碼,則會產(chǎn)生相應的錯誤提示信息。 圖 郵箱驗證界面 郵箱驗證碼輸入正確,點擊完成按鈕,則會跳轉(zhuǎn)到 頁面,提示用戶注冊成 功。系統(tǒng)的 CheckVerifyCodeAction 會記錄下你的登陸時間和登陸 IP,寫入數(shù)據(jù)庫的 d_user 表,并把當前這個 user 對象放入 session 中,主要用來判別用戶是否登陸,進而給予權限進行相關操作。這時你可以進行主頁訪問或者查看你的基本信息。 23 圖 注冊成功頁面 用戶登錄 系統(tǒng)登錄界面 ()需要輸入用戶名和密碼,如果密碼或者郵箱不對,則提示用戶相關錯誤信息。如果用戶上次注冊的時候沒有進行郵箱驗證,則會跳轉(zhuǎn)到郵箱驗證頁面 ()。只要用戶成功登錄,則把當前這個用戶對象加入到 session 當中,同時記錄下當前用戶的登陸時間和登陸 IP。 系統(tǒng)制定了一個積分規(guī)則,積分對應了 d_user表中的 user_integral字段。用戶積分有三個來源:用戶注冊送 50 積分,每超過 3 小時登錄一次送 2積分,購買商品利用訂單總價 /10進行四舍五入為用戶積累積分。 圖 用戶登錄界面 24 用戶成功登錄后,在主頁面上則會顯示用戶的昵稱,同時后邊只顯示登出按鈕。如果用戶沒有登錄,后邊則出現(xiàn)登入 /注冊按鈕,隱藏登出按鈕。這主要是利用了 JSTL 標簽
點擊復制文檔內(nèi)容
畢業(yè)設計相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1