隨筆-61  評論-159  文章-0  trackbacks-0

          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(
          "激活失敗");
                }

              }

            }


          -------------------------------------------------------------------------------------------------
          PS:本博客文章,如果沒有注明是有“轉”字樣,屬于本人原創。如果需要轉載,務必注明作者文章的詳細出處地址,否則不允許轉載,多謝合作!
          posted on 2008-10-22 13:22 apple0668 閱讀(1652) 評論(0)  編輯  收藏 所屬分類: java
          主站蜘蛛池模板: 壤塘县| 安徽省| 乌拉特中旗| 沐川县| 平定县| 内乡县| 南川市| 会宁县| 司法| 海门市| 麦盖提县| 治多县| 棋牌| 大关县| 长沙县| 土默特右旗| 婺源县| 乌拉特后旗| 南和县| 楚雄市| 五原县| 班玛县| 东丰县| 习水县| 额敏县| 连江县| 长顺县| 根河市| 石门县| 永德县| 游戏| 乳源| 微博| 山东| 阳泉市| 沙湾县| 英德市| 宁化县| 高淳县| 武邑县| 玛曲县|