[ JSP / HTML ] 로그인 구조 이해 (세션 활용)

2024. 3. 17. 11:17· FULL-STACK/└ JSP (Java Server Page)

환경 : Spring Tool Suite4

 

 

HttpSession을 이용한 로그인(Login)

  • HttpSession을 이용한 하나의 구현된 기능
             └ 로그인을 구현하기 위해 HttpSession을 이용하는 법을 배우는 것!!, HttpSession은 원래 있는 기능
  • Http Request(주문전화)는 1회성
  • 세션에 로그인 된 아이디가 있다고 생각. 로그인하면 세션이 생긴다고 생각하면 안 됨

 

  • 로그인을 한다는 것은 HttpSession에 데이터를 기록한다는 것을 의미
  • 로그아웃을 한다는 것은 HttpSession에 기록한 데이터를 삭제한다는 것을 의미
    └ 기록은 key=value 형태로 한다

 

  • 테스트 로그인 & 로그아웃
     - HttpSession을 사용하고 싶다면 매개변수에 선언만 하면 된다
     - 등록 : session.setAttribute("key", value)
     - 확인 : session.getAttribute("key")
     - 삭제 : session.removeAttribute("key")

[ 로그인 & 로그아웃 구현 예시 - 아이디를 사전에 기록하여 확인 ]

   - MemberController.java

@Controller
@RequestMapping("/member")
public class MemberController {
	
	@Autowired
	public MemberDao memberDao;
	
	@RequestMapping("/testLogin")
	public String testLogin(HttpSession session) {
		//아이디만 있으면 모든 정보를 불러올 수 있으므로 아이디를 저장
		session.setAttribute("loginId" , "testuser1");
		return "redirect:/";
	}
	
	@RequestMapping("/testLogout")
	public String testLogout(HttpSession session) {
		session.removeAttribute("loginId");
		return "redirect:/";
	}
}

    (+) setAttribute("key", value) 메소드를 사용하여 아이디 정보를 저장

    (+) removeAttribute("key") 메소드를 사용하여 아이디 정보 삭제

 

   - header.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>나의 홈페이지</title>
	</head>
	<body>
    	<div>
			<a href="/member/testLogin">테스트로그인</a>
			<a href="/member/testLogout">테스트로그아웃</a>
			login = ${sessionScope.loginId != null} ,
			loginId = ${sessionScope.loginId}
		</div>
		<hr>

    (+) 페이지 연결

    (+) sessionScope를 활용하여 현재 세션에 있는 아이디 정보를 가져오기

 

  - 출력결과(일부분)

로그인 / 로그아웃 결과 화면


[ 로그인 & 로그아웃 구현 예시 - 페이지에서 로그인 해보기 ]

참고 : https://ggingggang05.tistory.com/123 

 

 

 

 

 

개인 공부 기록용입니다:)

728x90