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

正文內(nèi)容

通用電子商務(wù)平臺(tái)項(xiàng)目計(jì)算機(jī)專業(yè)畢業(yè)論文(編輯修改稿)

2025-07-21 01:21 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 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,)。 //獲得畫筆對(duì)象 Graphics g=()。 (randomColor(r))。 (0,0,WIDTH,HEIGHT)。 (new Color(0,0,0))。 //用于存儲(chǔ)隨機(jī)生成的驗(yàn)證碼 = new StringBuffer()。 //繪制驗(yàn)證碼 for(int i=0。iNUM。i++){ (randomColor(r))。int h=(int)((HEIGHT*60/100)*()+(HEIGHT*30/100))。 (new Font(null,|,h))。 String ch=(seq[()])。 (ch)。 (ch, i*WIDTH/NUM*90/100, h)。 } (驗(yàn)證碼:+number)。 //繪制干擾線 for(int i=0。i=12。i++){ (randomColor(r))。 ((WIDTH), (HEIGHT), (WIDTH), (HEIGHT))。 } ByteArrayOutputStream os=new ByteArrayOutputStream()。 JPEGImageEncoder encoder=(os)。 //把BufferedImage對(duì)象中的圖像信息編碼后 //向創(chuàng)建該對(duì)象(encoder)時(shí)指定的輸出流輸出 try{ (image)。 return ()。 }catch(Exception e){ ()。 throw new RuntimeException(e)。 } } 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){ try { String retVal = encrypt(s,SHA)。 return retVal。 } catch (Exception e) { ()。 return 。 } }} ,點(diǎn)擊提交按鈕將轉(zhuǎn)到注冊(cè)第二步,同時(shí)把上一步產(chǎn)生的驗(yàn)證碼寫入數(shù)據(jù)庫(kù)中。系統(tǒng)沒有聯(lián)網(wǎng)模塊,這里只把驗(yàn)證碼輸出在頁(yè)面上,方便測(cè)試。郵箱驗(yàn)證碼是采用JDK中的UUID類隨機(jī)生成的字符串再加上用戶的ID作為后綴生成。如果用戶輸入錯(cuò)誤或者不輸驗(yàn)證碼,則會(huì)產(chǎn)生相應(yīng)的錯(cuò)誤提示信息。圖 郵箱驗(yàn)證界面郵箱驗(yàn)證碼輸入正確,點(diǎn)擊完成按鈕,提示用戶注冊(cè)成功。系統(tǒng)的CheckVerifyCodeAction會(huì)記錄下你的登陸時(shí)間和登陸IP,寫入數(shù)據(jù)庫(kù)的d_user表,并把當(dāng)前這個(gè)user對(duì)象放入session中,主要用來判別用戶是否登陸,進(jìn)而給予權(quán)限進(jìn)行相關(guān)操作。這時(shí)你可以進(jìn)行主頁(yè)訪問或者查看你的基本信息。圖 注冊(cè)成功頁(yè)面 用戶登錄 系統(tǒng)登錄界面()需要輸入用戶名和密碼,如果密碼或者郵箱不對(duì),則提示用戶相關(guān)錯(cuò)誤信息。如果用戶上次注冊(cè)的時(shí)候沒有進(jìn)行郵箱驗(yàn)證,則會(huì)跳轉(zhuǎn)到郵箱驗(yàn)證頁(yè)面()。只要用戶成功登錄,則把當(dāng)前這個(gè)用戶對(duì)象加入到session當(dāng)中,同時(shí)記錄下當(dāng)前用戶的登陸時(shí)間和登陸IP。系統(tǒng)制定了一個(gè)積分規(guī)則,積分對(duì)應(yīng)了d_user表中的user_integral字段。用戶積分有三個(gè)來源:用戶注冊(cè)送50積分,每超過3小時(shí)登錄一次送2積分,購(gòu)買商品利用訂單總價(jià)/10進(jìn)行四舍五入為用戶積累積分。圖 用戶登錄界面 用戶成功登錄后,在主頁(yè)面上則會(huì)顯示用戶的昵稱,同時(shí)后邊只顯示登出按鈕。如果用戶沒有登錄,后邊則出現(xiàn)登入/注冊(cè)按鈕,隱藏登出按鈕。這主要是利用了JSTL標(biāo)簽來控制,我們只要判斷session中對(duì)應(yīng)的user是否為空,為空不顯示登出按鈕。圖 成功登錄后頁(yè)面顯示登錄界面核心代碼:public class UserServiceImpl implements UserService { public void register(User user) {// 將密碼加密處理 String pwd = (())。 (pwd)。 //給用戶積分設(shè)置初始值 (N)。//郵箱是否通過驗(yàn)證 //生成郵箱驗(yàn)證碼 String code = ()。 (code)。(())。 ()。//用戶等級(jí) UserDAO userDao = new HibernateUserDAO()。 (user)。 (code, ())。 } public boolean checkEmail(String ) { boolean ok = false。 UserDAO userDAO = new HibernateUserDAO()。 User user = ()。 if(user!=null){ ok=false。 }else{ ok=true。 } return ok。 }} 用戶登出用戶登出主要是把session中當(dāng)前的user屬性設(shè)置為空,因?yàn)橹坝脩舻卿洺晒Φ臅r(shí)候已經(jīng)把用戶user放入了session中。只要session中的user屬性為空,用戶則相當(dāng)于退出了系統(tǒng),失去很多權(quán)限進(jìn)行相關(guān)操作。 商品瀏覽模塊的設(shè)計(jì)說明該模塊主要包含分類瀏覽、編輯推薦、熱銷圖書、最新上架圖書、新書熱賣榜等功能。主頁(yè)面采用了js中的setInterval函數(shù)每隔一段時(shí)間向服務(wù)器發(fā)送請(qǐng)求,達(dá)到頁(yè)面局部動(dòng)態(tài)更新的效果。商品展示分類瀏覽編輯推薦熱銷圖書最新上架圖書新書熱賣榜圖書動(dòng)態(tài)刷新圖 商品展示功能結(jié)構(gòu)圖 分類瀏覽分類瀏覽主要是實(shí)現(xiàn)點(diǎn)擊頁(yè)面左側(cè)的類別,則可以查看相應(yīng)類別下的圖書功能,同時(shí)以分頁(yè)的形式顯示。首先說說分頁(yè)技術(shù),由于系統(tǒng)采用的是MySql數(shù)據(jù)庫(kù),分頁(yè)則可以利用MySql的limit命令進(jìn)行數(shù)據(jù)的選取。分頁(yè)技術(shù)主要注意4個(gè)因素,每頁(yè)顯示的記錄條數(shù)pageSize,當(dāng)前頁(yè)page,總頁(yè)數(shù)totalPage,數(shù)據(jù)庫(kù)中的記錄總數(shù)counts。分頁(yè)技術(shù)核心代碼:for(int i=0。i()。i++){ Category c = (i)。 counts+=()。 if(()==scc){ pages= ()/size。 if(() % size != 0){ pages++。 } } } if(page=pages){ (pages)。 page=pages。 } if(page1){ (1)。 page=1。 } int beginIndex = (page1)*5。 ListBookbooks = ().findByParentId(scc,beginIndex, size)。 ().setAttribute(counts, counts)。 if(pages==0){ pages = 1。 }分類瀏覽過程中為保證每次進(jìn)入相應(yīng)列表都是第一頁(yè),必須把參數(shù)page設(shè)置為1傳遞給action進(jìn)行處理。分類瀏覽過程中必須將父類別ID和子類別ID一起傳給action,這樣我們可以在分類瀏覽過程中顯示當(dāng)前進(jìn)入的目錄類別。圖 圖書分類頁(yè)面 中間瀏覽模塊中間瀏覽模塊分為編輯推薦、熱銷圖書、最新上架圖書三個(gè)模塊編輯推薦區(qū)域:隨機(jī)獲取d_product,d_book表中兩個(gè)產(chǎn)品顯示熱銷圖書區(qū)域:根據(jù)訂單銷量統(tǒng)計(jì),取出銷量最高的前四個(gè)產(chǎn)品最新上架圖書區(qū)域:根據(jù)上架時(shí)間取出最近上架的八個(gè)產(chǎn)品顯示 中間瀏覽模塊 右側(cè)新書熱賣榜模塊顯示近一個(gè)月上架,銷量最高的前10個(gè)產(chǎn)品信息 右側(cè)新書熱賣榜商品瀏覽模塊代碼:public class HibernateProductDAO implements ProductDAO {/** 獲得最新上架的前size個(gè)信息 size: 獲取前size條 */ public ListProduct findNew(int size) { String hql = from Product order by addTime desc。 Session session = ()。 Query query = (hql)。 (0)。 (size)。 return ()。 } /* 隨機(jī)獲取size個(gè)圖書信息*/ public ListProduct findRemend(int size) { Session session = ()。 String sql = select * + from d_product dp + join d_book db on(=) + order by rand() + limit 0, + size。 SQLQuery query = (sql)。 ()。 List list = ()。 return list。 } /* 獲取銷量最高的前size個(gè)產(chǎn)品信息*/ public ListProduct findHot(int size) { Session session = ()。 String hql = select dp + from Item di + join dp + group by + order by sum() desc 。 Query query = (hql)。 (0)。 (size)。 return ()。 } /* 顯示近一個(gè)月上架,銷量最高的前size個(gè)產(chǎn)品信息*/ public ListItem findNewHot(int size
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1