2022. 10. 18. 00:53ㆍ3층 1구역 - 개발의 장/Spring
1. 서론
쿠키와 유사한 역할을 하는 세션에 대해 알아보자.
2. 본론
세션의 생성은 쿠키보다 쉬운 편이다.
이전에 jsp에서 하던거 그대로 사용하면 된다.
SessionController.java
package com.care.cs.session;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class SessionController {
// HttpSession session = new HttpSession();
@Autowired private HttpSession session;
// http://localhost:8085/cs/make
@RequestMapping("make")
public String make() {
session.setAttribute("id", "admin");
session.setAttribute("pw", "1234");
return "session/make";
}
@RequestMapping("result")
public String result() {
return "session/result";
}
@RequestMapping("delete")
public String delete() {
session.invalidate();
return "session/delete";
}
}
make.jsp
package com.care.cs.session;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class SessionController {
@Autowired private HttpSession session;
@RequestMapping("make")
public String make() {
session.setAttribute("id", "admin");
session.setAttribute("pw", "1234");
return "session/make";
}
}
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>make</title>
</head>
<body>
<h3>세션 생성 페이지</h3>
<a href="result">세션 확인하기</a> | <a href="delete">세션 삭제하기</a>
</body>
</html>
result.jsp
package com.care.cs.session;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class SessionController {
@Autowired private HttpSession session;
@RequestMapping("result")
public String result() {
return "session/result";
}
}
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>result</title>
</head>
<body>
<h3>세션 확인 페이지</h3>
아이디 : ${sessionScope.id }<br>
비밀번호 : ${sessionScope.pw }<br>
<a href="delete">세션 삭제하기</a>
</body>
</html>
delete.jsp
package com.care.cs.session;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class SessionController {
@Autowired private HttpSession session;
@RequestMapping("delete")
public String delete() {
session.invalidate();
return "session/delete";
}
}
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>delete</title>
</head>
<body>
<h3>세션 삭제 후 확인 페이지</h3>
아이디 : ${sessionScope.id }<br>
비밀번호 : ${sessionScope.pw }<br>
<a href="make">세션 생성하기</a>
</body>
</html>
3. 결론
확실히 쿠키 생성보다 세션이 좀 더 쉬운 느낌이다.
보안을 위해서라도 주로 세션을 애용할 거 같다
.....사실 쿠키보다 다루기 쉬워서 더 많이 찾을 거 같다
'3층 1구역 - 개발의 장 > Spring' 카테고리의 다른 글
Spring - DB에 저장된 데이터로 로그인하는 퀴즈(2022-10-18) (0) | 2022.10.18 |
---|---|
Spring - 세션을 이용하여 로그인해보는 퀴즈(2022-10-18) (0) | 2022.10.18 |
Spring - Cookie, Cookie를 이용하여 팝업창 30초동안 닫는 퀴즈 (2022-10-17) (0) | 2022.10.18 |
Spring - Member관련 모든 코드 (2022-10-17) (0) | 2022.10.17 |
Spring - 회원가입 하여 회원목록 보여주는 퀴즈(2022-10-17) (0) | 2022.10.17 |