package log;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import mem.*;
/**
 * Servlet implementation class LoginController
 */
@WebServlet("/login/*")
public class LoginController2 extends HttpServlet {
	private static final long serialVersionUID = 1L;
	MemberService memberService;
	MemberVO memberVO;
	
	public LoginController2() {
		memberService = new MemberService();
	}
	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doHandle(request,response);
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doHandle(request,response);
	}
	

	private void doHandle(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		request.setCharacterEncoding("utf-8");
		response.setContentType("text/html;charset=utf-8");
		String action = request.getPathInfo();
		HttpSession session = request.getSession();
		String id = null;
		String pwd = null;
		PrintWriter pw = response.getWriter();
		
		System.out.println("session ="+session);
		if(action==null || action.equals("/loginForm.do")) {
			pw.write("<script charset='utf-8'> location.href='"+request.getContextPath()+
					"/login2/loginForm.jsp';</script>");
			return;
		}else if(action.equals("/checklogin.do")) {
			id = request.getParameter("id");
			pwd = request.getParameter("pwd");
			System.out.println("id = "+id);
			System.out.println("pwd = "+pwd);
			
			if(session==null || session.getAttribute("id")==null) {
				memberVO = new MemberVO();
				memberVO.setId(id);
				memberVO.setPwd(pwd);
				boolean result=memberService.checklog(memberVO);
				
				if(result && id.equals("admin")) {
					session.setAttribute("id", id);
					pw.write("<script charset='utf-8'> alert('ڷ α Ͽϴ');"+"location.href='"+request.getContextPath()
							+"/member/listMembers.do';</script>");
					return;
				}
				if(result) {
					session.setAttribute("id", id);
					
					pw.write("<script charset='utf-8'> alert('"+id+" α ϷϿϴ'); location.href='"+request.getContextPath()+
							"/board/listArticles.do';</script>");
					return;
				}else {
					pw.write("<script charset='utf-8'> alert('̵ Ǵ йȣ Ʋϴ'); location.href='"+request.getContextPath()+
							"/login2/loginForm.jsp';</script>");
					return;
				}
				
			}else if(session.getAttribute("id")!=null) {
				if(session.getAttribute("id").equals("admin")) {
					pw.write("<script charset='utf-8'> alert('ڷ ̹ α Ͽϴ');"+"location.href='"+request.getContextPath()
					+"/member/listMembers.do';</script>");
					return;
				}else{
					id=(String) session.getAttribute("id");
					pw.write("<script charset='utf-8'> alert('"+id+" ̹ α Ͽϴ'); location.href='"+request.getContextPath()+
							"/board/listArticles.do';</script>");
					return;
				}
			}else {
				System.out.println("3333333333333333333333333");
				System.out.println("id = "+id);
				System.out.println("pwd = "+pwd);
			}
		}else if(action.equals("/logout.do")){
			session.removeAttribute("id");
			pw.write("<script charset='utf-8'> alert('α׾ƿǾϴ'); location.href='"+request.getContextPath()+"/login/loginForm.do'; </script>");
			return;
		}
	}
}

