[스프링] 세션 및 쿠키 처리
웹 애플리케이션을 개발할 때 중요한 부분 중 하나는 세션과 쿠키를 효과적으로 관리하는 것입니다. 세션은 클라이언트와 서버 간에 유지되는 정보를 저장하고 관리하는 데 사용되며, 쿠키는 클라이언트 측에 저장되는 작은 데이터 파일입니다.
세션 처리
스프링은 세션을 처리하기 위해 HttpSession
인터페이스를 제공합니다. 이를 사용하여 세션에 데이터를 저장하고 검색할 수 있습니다. 다음은 세션을 활용한 간단한 예제입니다.
@Controller
public class SessionController {
@RequestMapping("/saveSession")
public String saveSession(HttpServletRequest request) {
HttpSession session = request.getSession();
session.setAttribute("username", "exampleUser");
return "sessionSaved";
}
@RequestMapping("/getSession")
public String getSession(HttpServletRequest request) {
HttpSession session = request.getSession();
String username = (String) session.getAttribute("username");
return "sessionInfo";
}
}
위 예제에서 saveSession
메서드는 세션에 사용자 이름을 저장하고, getSession
메서드는 세션에서 사용자 이름을 검색합니다.
쿠키 처리
스프링은 쿠키를 처리하기 위해 Cookie
클래스를 제공합니다. 이를 사용하여 쿠키를 생성하고 읽을 수 있습니다. 다음은 쿠키를 생성하고 읽는 간단한 예제입니다.
@Controller
public class CookieController {
@RequestMapping("/saveCookie")
public String saveCookie(HttpServletResponse response) {
Cookie cookie = new Cookie("username", "exampleUser");
response.addCookie(cookie);
return "cookieSaved";
}
@RequestMapping("/readCookie")
public String readCookie(HttpServletRequest request) {
Cookie[] cookies = request.getCookies();
if (cookies != null) {
for (Cookie cookie : cookies) {
if (cookie.getName().equals("username")) {
String username = cookie.getValue();
return "cookieInfo";
}
}
}
return "cookieNotFound";
}
}
위 예제에서 saveCookie
메서드는 클라이언트에 사용자 이름 쿠키를 저장하고, readCookie
메서드는 쿠키를 읽어 사용자 이름을 가져옵니다.
세션과 쿠키는 웹 애플리케이션에서 중요한 역할을 하며, 스프링을 사용하여 세션과 쿠키를 효과적으로 처리할 수 있습니다.
위의 예제들은 스프링 MVC를 기반으로 한 예제이며, 스프링 부트 등의 다른 스프링 프레임워크에서도 유사한 방식으로 세션과 쿠키를 처리할 수 있습니다.