原始來源 http://www.java2000.net/viewthread.jsp?tid=4456
1 你根據使用者名稱採用某個演算法產生一個隨機的字串
比如可以根據目前時間和使用者名稱產生
String username = ...// 這個是使用者註冊的使用者名稱
String sign = MD5.encode(username + System.currentTimeMillis());
2 把這個字串儲存到使用者的資訊中
user.setRegisterEmailSign(sign);
3 發送郵件,連結裡有這個字串
郵件內容包括一個串連
<a href="....../registerActive?sign=<%=sign%>">點擊此連結啟用您的帳號</a>
4 使用者啟用時,根據字串,尋找對應的使用者,然後啟用
// 拿到啟用碼
String sign = request.getParameter("sign");
if (!StrTools.isBlank(sign)) ...{
// 尋找對應啟用碼的使用者是否存在
UserService us = (UserService) Factory.getBean("UserService");
User u = us.findByEmailSign(sign);
if (u == null) ...{
out.print("啟用碼無效!");
} else if (u.isActived()) ...{
out.println("該使用者已經是正式使用者!");
} else ...{
// 設定已經啟用的標誌,
u.setActived(true);
if (us.save(u) != null) ...{
out.print("<script>alert('啟用註冊成功');self.location='login.jsp';</script>");
} else ...{
out.print("啟用失敗");
}
}
}