hi jaeneee

CRUD 게시판 만들기_3(로그인 -> controller) 본문

CRUD게시판

CRUD 게시판 만들기_3(로그인 -> controller)

ash silver 2022. 11. 22. 15:55

 

2022.11.22 - [CRUD게시판] - CRUD 게시판 만들기_1(로그인 -> jsp)

 

CRUD 게시판 만들기_1(로그인 -> jsp)

1. h1태그로 로그인 페이지 알려주기 AshSilver page Sign In 2. form 태그로 id, password 입력받기/로그인 버튼 만들기 2022.11.21 - [CRUD게시판] - CRUD 게시판 만들기_4(회원가입 -> jsp) CRUD 게시판 만들기_4(회원

ash-silver.tistory.com

jsp 파일에서 signIn 버튼을 눌렀을 때 SignInController가 실행되도록 했으니 SignInController를 만들어보겠다.

2022.11.21 - [CRUD게시판] - CRUD 게시판 만들기_6(회원가입 -> Controller)

 

CRUD 게시판 만들기_6(회원가입 -> Controller)

처음 servlet 페이지를 만들면 이렇게 보일 것이다. 2022.11.21 - [CRUD게시판] - CRUD 게시판 만들기_4(회원가입 -> jsp) CRUD 게시판 만들기_4(회원가입 -> jsp) Sign Up jsp 페이지를 생성하면 이 화면이 바로 보

ash-silver.tistory.com

이번에도 signUp과 똑같이 doGet만 건들것이다.

( *거의 모든 형식은 signUp과 다를바가 없다. 앞에서 설명한 것은 설명하지 않겠음,,ㅎㅎ)

MemberService service = new MemberServiceImpl();

위의 한 줄은 회원가입때와 똑같이 써주고 두 개를 모두 import를 해준다.

 

1. flag 선언

boolean flag = false;

로그인 세션을 위해 필요한 flag를 선언해준다.

( *boolean과 flag의 의미를 모른다면 자료형에 대해 공부하고 오는 것을 추천)

 

2. 로그인 세션을 위한 HttpSession 사용

HttpSession session=request.getSession();

HttpSession에 빨간줄이 뜰 수 있으나 빨간줄을 클릭하여 HttpSession을 import할 수 있다.

(*윈도우의 단축키는 ctrl+1)

 

3. id와 password 값 받아오고 객체 m생성하기

String id=request.getParameter("id");
String password=request.getParameter("password");
MemberVO m = service.selectMember(id);

 

4. m이 없거나 비밀번호가 틀릴 경우 확인하기

id가 있고 비밀번호가 일치하면 session을 id로 주고 session의 flag는 true로 변경한다.

session을 flag로 설정한다.

if(m != null) {
    if(password.equals(m.getPassword())) {
        session.setAttribute("id", id);
        flag = true;
    }
}
session.setAttribute("flag", flag);

5. requestDispatcher 넣어주기

( *회원가입 controller와 똑같이)

 

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    MemberService service = new MemberServiceImpl();
    boolean flag = false;
    HttpSession session=request.getSession();

    String id=request.getParameter("id");
    String password=request.getParameter("password");
    MemberVO m = service.selectMember(id);

    if(m != null) {
        if(password.equals(m.getPassword())) {
            session.setAttribute("id", id);
            flag = true;
        }
    }
    session.setAttribute("flag", flag);

    RequestDispatcher dispatcher = request.getRequestDispatcher("/member/Welcome.jsp");
    if(dispatcher!=null) {
        dispatcher.forward(request, response);
    }
}

controller doGet 코드

( *dispatcher 경로를 welcome.jsp로 해줬기 때문에 welcome.jsp도 생성해줘야한다.)

ex)

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body bgcolor="pink">
	<h3>Login Succeed</h3>
	<h1>Welcome Ash._.Silver World!!</h1>
</body>
</html>

 

Comments