0x001は、分析を必要とします
0x002書き込みコード
サーブレット
@WebServlet( "/ activeUserServlet") パブリッククラスのHttpServlet {延びActiveUserServlet のdoPost(HttpServletRequestのリクエスト、HttpServletResponseの応答)はServletExceptionが、IOExceptionが{スロー空隙保護 。// 1を起動得るために 、文字列= request.getParameterコード( "コード") IF( !コード= NULL){ // 2は、活性化を完了するためにサービスを呼び出す。 UserServiceの新たな新しいサービスUserServiceImpl =(); フラグにブール= service.active(コード); .. 3 //決意フラグ 列MSG = NULL; IF(フラグに){ //成功した起動 MSG = "<aは</a>にログhref='login.html'>、正常に活性化された"; }他{ //アクティベーションに失敗しました MSG = "激活失败、请联系管理员!"。 } response.setContentType( "テキスト/ HTML;のcharset = UTF-8"); response.getWriter()(MSG)を書き込みます。 } } 保護されたボイドのdoGet(HttpServletRequestのリクエスト、HttpServletResponseの応答)ServletExceptionがは、IOException {スロー this.doPost(要求、応答)。 } }
0x003ServiceImpl
/ ** *登録されたユーザ * @paramユーザー * @return * / @Override パブリックブールREGIST(ユーザーユーザー){ // 1ユーザ名に基づいてユーザ・オブジェクトに問い合わせる。。 ユーザーU = userDao.findByUsername(user.getUsername()); / / Uがヌルか否かが判断される 場合には(!U = NULL){ //ユーザ名、登録に失敗しました ;偽に戻る } // 2ストアユーザ情報。 アクティベーションコード//2.1、一意の文字列設けられている user.setCode(UuidUtil.getUuidを()); //2.2活性化状態に設定 user.setStatus( "N"); userDao.save(ユーザ); // 3活性化メール、メッセージボディを? 文字列の内容= "<a href='http://localhost/travel/user/active?code="+user.getCode()+"'>点击激活</a>を"; MailUtils.sendMail(user.getEmail()、コンテンツ、 "激活邮件"); trueを返します。 }
0x004
/ ** *指定したユーザーの活性化状態を変更する * @paramユーザー * / @Override ます。public void UpdateStatusを(ユーザーユーザー){ 文字列のSQLが= "UID = SETのtab_userのアップデートステータス= 'Y'?"; Template.update(SQL、ユーザー.getUid()); }
別のメールボックス異なるコードを見つけるために、MailUtilツール動画、ランダムなラインと何が重要であるメール機能があると見て、注意を払う必要があります。
ツールの下に投稿MailUtil
/ ** *メールツールは、 * / パブリッククラスMailutilsに最終的な{ プライベート静的USER最終文字列=「」; //送信者の名前、同じ電子メールアドレス プライベート静的最終文字列PASSWORD =「」 ; // メールボックスができる場合QQクライアント認証コード、またはパスワード / ** * *受信者のメールボックスに@param * @paramテキストメッセージ本文 * @paramタイトルタイトル * / * / / *送信確認メールメッセージ のpublic static boolean型のsendmail(文字列へ、テキスト文字列、文字列のタイトル){ 試み{ 最終的な性質の小道具=新しい新しいプロパティ(); props.put( "mail.smtp.auth"、 "真の"); props.put( "mail.smtp.host"、「SMTP .qq.com "); //送信者のアカウント props.put( "mail.user"、USER); //送信者のパスワード props.put( "mail.password"、PASSWORD); //は、SMTP認証のためのライセンス情報を構築し 、新たな認証認証=オーセンティケータ(){ @Overrideは PasswordAuthenticationをgetPasswordAuthentication(){保護 //ユーザ名、パスワード 文字列props.getPropertyのuserName =( "mail.user"); 文字列のパスワード= props.getProperty( "mail.passwordを"); (新しい新しいPasswordAuthenticationのを返しますユーザ名、パスワード); } }; //環境属性および許可情報は、メールセッションを作成します MailSession = Session.getInstanceセッション(小道具、認証); //メールメッセージの作成 で、MimeMessageメッセージ=新新のMimeMessage(mailSessionを); //メッセージ本文の内容を設定 、message.setContent(テキストを"テキスト/ HTML ;のcharset = UTF-8"); //設定し、送信元 の文字列名= props.getProperty( "mail.user"); たInternetAddressフォーム=新しい新たInternetAddress(ユーザー名); message.setFrom(フォーム); //受信者の設定し たInternetAddressのtoAddress =新たInternetAddress(に) ; message.setRecipient(Message.RecipientType.TO、toAddress); //設定メールヘッダ message.setSubject(タイトル); //メッセージを送る Transport.send(メッセージ); trueに戻る; }キャッチ(例外E){ e.printStackTrace (); } 偽に戻ります; } 公共の静的な無効メイン(文字列[]引数)例外{//スロー行う試験 MailUtils.sendMail(「[email protected]」、「こんにちは、これはテストメッセージ、無応答である。」、「テストメッセージを」 ); のSystem.out.println( "正常に送信"); } }