日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java web 邮箱激活 与 忘记密码(重置密码)

發(fā)布時(shí)間:2023/12/15 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java web 邮箱激活 与 忘记密码(重置密码) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

推薦: java后臺(tái)通用權(quán)限管理系統(tǒng)(springboot)(https://blog.csdn.net/zwx19921215/article/details/97806078)

推薦:java 個(gè)人博客系統(tǒng)高級(jí)版(springboot)(https://blog.csdn.net/zwx19921215/article/details/102665020)

推薦:Java秒殺系統(tǒng)優(yōu)化(高性能高并發(fā))(https://blog.csdn.net/zwx19921215/article/details/103270209)

推薦java聊天室項(xiàng)目http://zyshare.cn/resource/detail/15

?

由于在項(xiàng)目中要實(shí)現(xiàn)用戶注冊(cè)的郵箱激活以及忘記密碼重置密碼功能,所以通過查閱資料做了一個(gè)簡(jiǎn)單的設(shè)計(jì)和實(shí)現(xiàn)。

郵箱激活

背景:幾乎每個(gè)網(wǎng)站或論壇之類的用戶注冊(cè)后都需要通過發(fā)送郵件到郵箱激活用戶。 設(shè)計(jì): 激活步驟:
1、 發(fā)送激活操作鏈接地址至用戶郵箱。
2、 用戶至郵箱查收郵件。
3、 用戶點(diǎn)擊鏈接,跳轉(zhuǎn)至成功頁面(修改激活狀態(tài)),激活成功。 實(shí)現(xiàn): /*** 發(fā)送郵件* * @param request* @return*/@RequestMapping(value = "/sendEmail.jhtml")@ResponseBodypublic String sendEmail(HttpServletRequest request) {DynamicParams params = new DynamicParams(request);StringBuilder builder = new StringBuilder();StringBuffer url = new StringBuffer();String type = params.getString("type");Long uid = params.getLong("id");User user = userManager.find(uid);String subject = "";// 判斷是否已激活if ("1".equals(String.valueOf(user.getEmailStatus()))) {return errMsg();}String contextPath = request.getContextPath();String rUrl = String.valueOf(request.getRequestURL());url.append(rUrl.substring(0, rUrl.indexOf(contextPath)));url.append(contextPath + "/account");// 郵箱激活// url.append("/activateEmail.jhtml?email=" + user.getEmail() +// "&id=" + uid + "&mode=activate");url.append("/activateEmail.jhtml?id=" + uid + "&mode=activate");// 正文builder.append("<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" </head><body>");builder.append("請(qǐng)點(diǎn)擊下方鏈接激活您的郵箱,完成激活郵箱的操作!");builder.append("<br/><br/>");builder.append("<a href=\"" + url + "\">");builder.append(url);builder.append("</a>");builder.append("</body></html>");subject = "郵箱地址激活 - xxxx";MailSender.mailSimple(user.getEmail(), subject, builder.toString(),false, null);return successMsg();}/*** 激活郵箱* * @param request* @return*/@RequestMapping(value = "/activateEmail.jhtml")public String activateEmail(HttpServletRequest request, Model model) {DynamicParams params = new DynamicParams(request);// 激活之前查詢User user = userManager.find(params.getLong("id"));if ("1".equals(String.valueOf(user.getEmailStatus()))) {// 已激活model.addAttribute("flag", false);} else {// 未激活userManager.activateEmail(params);// 激活之后查詢user = userManager.find(params.getLong("id"));request.getSession().setAttribute("sessionUser", user);model.addAttribute("mode", params.getString("mode"));model.addAttribute("flag", true);}return "site/modules/account/activateSuccess";} MailSender.mailSimple(user.getEmail(), subject, builder.toString(),false, null);即為發(fā)送郵件工具類,如有不明白可參考我之前的文章(spring mail發(fā)送郵件)

忘記密碼(重置密碼)

背景:同樣是各大網(wǎng)站都會(huì)擁有的一個(gè)功能,通過發(fā)送驗(yàn)證碼到用戶注冊(cè)的郵箱重置密碼

設(shè)計(jì):1)輸入用戶名/手機(jī)號(hào)碼/郵箱,驗(yàn)證碼。
? ? ? ? ? ? ?2)用戶選擇手機(jī)驗(yàn)證或郵箱驗(yàn)證,發(fā)送驗(yàn)證碼到手機(jī)或郵箱。如果用戶郵箱未激活,則不允許郵箱驗(yàn)證。
? ? ? ? ? ? ?3)用戶輸入驗(yàn)證碼成功,進(jìn)入密碼重新設(shè)置頁面。
? ? ? ? ? ? ?4)重置密碼

?

流程:

?

?

?

?

實(shí)現(xiàn):

?

/*** 發(fā)送郵件* * @param request* @return*/@RequestMapping(value = "/sendEmail.jhtml")@ResponseBodypublic String sendEmail(HttpServletRequest request) {DynamicParams params = new DynamicParams(request);StringBuilder builder = new StringBuilder();StringBuffer url = new StringBuffer();String type = params.getString("type");Long uid = params.getLong("id");User user = userManager.find(uid);String subject = "";// type = forget 密碼重置String verifyCode = VerifyCodeUtils.generateVerifyCode(4);request.getSession().setAttribute("resetCertCode", verifyCode);url.append("<font color='red'>" + verifyCode + "</font>");// 正文builder.append("<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" /></head><body>");builder.append("要使用新的密碼, 請(qǐng)將已下字符輸入驗(yàn)證框中,完成重置密碼的操作!");builder.append("<br/><br/>");builder.append("<div>" + url + "</div>");builder.append("</body></html>");subject = "密碼重置 - xxxx";MailSender.mailSimple(user.getEmail(), subject, builder.toString(),false, null);return successMsg();}


至此,激活郵箱和忘記密碼功能已初步完成!如有不同看法的朋友,請(qǐng)留下您寶貴的意見或建議。

關(guān)注微信公眾號(hào)“蝦米聊吧”,后續(xù)持續(xù)放送“技術(shù)架構(gòu)和資料”干貨!!!???

一個(gè)熱衷于分享技術(shù)和生活的程序猿,讓我們一起交流吧~??????

????????????????????

??????????????????微信掃描二維碼,關(guān)注我的公眾號(hào)

?

總結(jié)

以上是生活随笔為你收集整理的java web 邮箱激活 与 忘记密码(重置密码)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。