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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

java邮箱找回密码_Spring实现简单的邮箱找回密码功能

發布時間:2025/3/20 javascript 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java邮箱找回密码_Spring实现简单的邮箱找回密码功能 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

通過spring可以實現簡單的郵箱找回密碼的功能,在此做一下簡單的筆記。

1.首先就是導入一些相關的jar包

2.加入配置文件,具體配置信息如下:

encoding="UTF-8"?>

/p>

2.0//EN"

class="org.springframework.mail.javamail.JavaMailSenderImpl">

smtp.163.com

name="javaMailProperties">

key="mail.smtp.auth">true

java19881012@163.com

郵箱密碼

class="org.springframework.mail.SimpleMailMessage">

java19881012@163.com

湖南工程學院基建處后臺管理找回密碼

class="com.hnie.utils.MailSenderJob">

name="mailMessage">

name="mailSender">

3.寫好配置文件后就再建立發送郵件的工具類com.hnie.utils.MailSenderJob

package

com.hnie.utils;

import

org.springframework.mail.MailSender;

import

org.springframework.mail.SimpleMailMessage;

public

class MailSenderJob {

private

static final long serialVersionUID = 1L;

private

MailSender mailSender;

private

SimpleMailMessage mailMessage;

public

void sendMail(String emal, String text) {

//

收件人的郵箱

mailMessage.setTo(emal);

SimpleMailMessage

message = new SimpleMailMessage(mailMessage);

message.setText(text);

mailSender.send(message);

}

public

MailSenderJob() {

}

public

MailSender getMailSender() {

return

mailSender;

}

public

void setMailSender(MailSender mailSender) {

this.mailSender

= mailSender;

}

public

SimpleMailMessage getMailMessage() {

return

mailMessage;

}

public

void setMailMessage(SimpleMailMessage mailMessage) {

this.mailMessage

= mailMessage;

}

}

4.寫好工具類后就可以在action處理具體的業務操作了。在這里找回密碼的方式是通過給用戶郵箱發送一個驗證碼(驗證碼是一個隨機的六位數,將其放在session中,存活周期設為半個小時),通過驗證碼后再修改密碼,本實例是使用了strut1,具體的配置如下

path="/mail/findPass" name="userForm" scope="request"

parameter="method">

name="find"

path="/page/control/findpass/findPwd.jsp"/>

name="update"

path="/page/control/findpass/findPwd2.jsp"/>

Action處理類

@Controller("/mail/findPass")

public

class MailPassAction extends DispatchAction {

@Resource(name

= "userServiceBean")

private

UserService userService;

public

ActionForward sendPass(ActionMapping mapping, ActionForm

form,

HttpServletRequest

request, HttpServletResponse response) throws Exception

{

UserForm

formbean = (UserForm) form;

User

user=null;

try

{

user =

userService.findByloginid(formbean.getLoginid());

} catch

(Exception e) {

request.setAttribute("mess",

"輸入信息不合法!");

return

mapping.findForward("find");

}

//

創建一個session

HttpSession

session = request.getSession();

String

sessionId = session.getId();

//

將sessionId寫到cookie中

Cookie

cookie = new Cookie("JSESSIONID", sessionId);

cookie.setMaxAge(30

* 60);

response.addCookie(cookie);

//

向session放入隨即數

String

random = getRandomNum() + "";

session.setAttribute("random",

random);

//從spring中獲取bean

ApplicationContext

cxt = new ClassPathXmlApplicationContext("beans.xml");

MailSenderJob

send = (MailSenderJob) cxt.getBean("sender");

if

(user != null) {

//

將隨機數發送到郵件中,內容是一個網址,包括用戶id和用戶類型

String

url = request.getRequestURL().toString()

+

"?method=update&&loginid=" +

formbean.getLoginid();

String

text = user.getUsername() + "您好,您本次修改密碼的隨機數是" +

random

+

",有效時間為半小時,請點擊"

+ url + "進行密碼修改。";

try

{

send.sendMail(user.getEmail(),

text);

request.setAttribute("mess","驗證碼已發送到郵箱,請登錄郵箱進行密碼修改!");

return

mapping.findForward("find");

} catch

(Exception e) {

request.setAttribute("mess",

"網絡異常,郵件發送失敗,請重新發送");

return

mapping.findForward("find");

}

} else

{

request.setAttribute("mess",

"輸入信息不合法!");

return

mapping.findForward("find");

}

}

//

隨即生成六位數

private

int getRandomNum() {

Random

r = new Random();

return

r.nextInt(900000) + 100000;

}

//修改密碼

public

ActionForward update(ActionMapping mapping, ActionForm

form,

HttpServletRequest

request, HttpServletResponse response) throws Exception

{

UserForm

formbean = (UserForm) form;

//將用戶信息寫到回話中

request.getSession().setAttribute("loginid",

formbean.getLoginid());

return

mapping.findForward("update");

}

public

ActionForward update2(ActionMapping mapping, ActionForm

form,

HttpServletRequest

request, HttpServletResponse response) throws Exception

{

UserForm

formbean = (UserForm) form;

HttpSession

session = request.getSession();

String

old =null;

try

{

old =

session.getAttribute("random").toString();

} catch

(Exception e) {

request.setAttribute("mess",

"驗證碼獲取失敗,請使用同一瀏覽器訪問!");

return

mapping.findForward("update");

}

if(old==null){

request.setAttribute("mess",

"驗證碼獲取失敗,請使用同一瀏覽器訪問!");

return

mapping.findForward("update");

}

if

(old.equals(formbean.getCheckNum())) {

//

驗證碼正確,修改密碼

User

user = userService.findByloginid(formbean.getLoginid());

user.setPassword(formbean.getNewPass());

userService.update(user);

request.setAttribute("mess",

"密碼修改成功,請返回登錄!");

return

mapping.findForward("update");

} else

{

request.setAttribute("mess",

"驗證碼錯誤");

return

mapping.findForward("update");

}

}

}

5.建立簡單的jsp界面(寫出主要的表單代碼)

登錄用戶注冊的郵箱

點擊地址跳轉到修改密碼的界面

總結

以上是生活随笔為你收集整理的java邮箱找回密码_Spring实现简单的邮箱找回密码功能的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。