til/Server

[JSP] 로그인 구현

값진 2022. 6. 28. 14:37

로그인/로그아웃

com.test.toy.member > Login.java, LoginOk.java, Logout.java

views> member > login.jsp loginok.jsp logout.jsp

 

login.java > 템플릿 사용

package com.test.toy.member;

import java.io.IOException;

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

@WebServlet("/member/login.do")
public class Login extends HttpServlet {

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

		//Login.java
		

		RequestDispatcher dispatcher = req.getRequestDispatcher("/WEB-INF/views/member/login.jsp");
		dispatcher.forward(req, resp);
	}

}

 

loginok.java

데이터 가져오기 - db작업

package com.test.toy.member;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
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;

@WebServlet("/member/loginok.do")
public class LoginOk extends HttpServlet {

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

		//LoginOk.java
		//1. 데이터 가져오기
		//2. DB 작업 > DAO 위임 > select
		//3. 결과 > 인증 티켓 발급
		//4. JSP 호출하기
		
		HttpSession session = req.getSession();	
		//1.
		String id = req.getParameter("id");
		String pw = req.getParameter("pw");
		
		//2.
		MemberDTO dto = new MemberDTO();
		
		dto.setId(id);
		dto.setPw(pw);
		
		MemberDAO dao = new MemberDAO();
		
		MemberDTO result = dao.login(dto);
		
		
		//3.
		if (result != null) {
			
			//인증 티켓 발급
			session.setAttribute("auth", id);		
			session.setAttribute("name", result.getName());
			session.setAttribute("lv", result.getLv());		
		}
		
		//4.
		RequestDispatcher dispatcher = req.getRequestDispatcher("/WEB-INF/views/member/loginok.jsp");
		dispatcher.forward(req, resp);
	}
}

 

-결과 인증티켓 발급 -일치하는지 확인해서 줄지말지 확인 > jsp 호출해 이동

id pw가 담긴 dto상자를 들고 memberdao의 로그인 메서드로 이동>입력한게 일치하는가 select해서 확인 > if절에서 남은 회원 정보를 다 넣음

loginok.jsp 는 registerok를 복사해온 파일.