/*****************************************************
 * ユーザー登録サーブレット
 * Copyright(C) 2001 A-tak, Japan
 *
 *   @since   2001.05.14
 *   @author  A-tak
 *
 ****************************************************/

package login;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import java.sql.*;
import web.CookieSend;

/**
 * ユーザー登録サーブレットクラス
 * ユーザー登録ビーンを呼び出す
 * Copyright(C) 2001 A-tak, Japan
 *
 *   @see       LangChange, DbAccess
 *   @version   1.0
 *   @since     2001.05.14
 *   @author    A-tak
 */
public class Entery extends HttpServlet {

        boolean result;
    ServletContext ctx = null;

/**
 * サーブレットの初期化
 *      @param          ServletConfig           config
 *      @return         void                            
 *      @throws         ServletException                                サーブレットのエラー
 */
        public void init(ServletConfig config) throws ServletException{
                super.init(config);
                if(ctx == null) {
                        ctx = config.getServletContext();
                }
        }

/**
 * ユーザーの新規登録
 * フォームから各種データを読みとり登録のチェック
 * 実際の登録までを行う
 *      @param          HttpServletRequest              req             HTTPリクエスト
 *      @param          HttpServletResponse             res             HTTPレスポンス
 *      @return         void                            
 *      @throws         IOException                                             
 *      @throws         ServletException                                サーブレットのエラー
 */
        public void service(HttpServletRequest req,HttpServletResponse res) 
          throws IOException, ServletException {
                String name = req.getParameter("name");
                String email = req.getParameter("mail");
                String url = req.getParameter("url");
                String word = req.getParameter("word");
                String pass = req.getParameter("pass");
                
                UserEnterBean UserEnter = new UserEnterBean();
                //ユーザー登録実行
                try {
                        result = UserEnter.entery(name, email, url, word, pass);
                                
                RequestDispatcher rd;
                
                //登録成功
                if (result) {
                        //クッキーに保存
                        CookieSend cookie = new CookieSend();
                        cookie.createCookie(res, "name", name);
                        cookie.createCookie(res, "pass", pass);
                        
                        rd = ctx.getRequestDispatcher("/entery_ok.jsp");
                        rd.forward(req, res);
                }else{
                //既にユーザーが登録されている
                        rd = ctx.getRequestDispatcher("/already_use.jsp");
                        rd.forward(req, res);
                }
                }catch(Exception e){
                        res.setContentType("text/html;charset=EUC_JP");
                        PrintWriter out = res.getWriter();
                        out.println(e);
                }
        
        }
}