SOCO

웹개발에서 상태 유지의 필요성 (수정중) 본문

백/Servlet,JSP(잠시 pause)

웹개발에서 상태 유지의 필요성 (수정중)

ssooda 2021. 7. 1. 16:57

웹 서버 프로그램은 애플리케이션이 조각나있음 => 서블릿!이라는 이름에서도 알 수 있다

 

조각 나 있다보니 전역변수 같은 개념을 갖고있지 않음.

이렇게 조각 나 있는 애플리케이션(서블릿) 사이에서

전역변수처럼 값을 유지해줄 역할이 필요함

 

예를 들면 실제 계산기는 2 개의 숫자와 버튼을 동시에 입력하는 게 아님.

한 숫자 입력 후 연산자(버튼) 누르면 첫 번째 숫자가 보내지고,

다른 숫자 입력 후 연산자(버튼) 누르면 두 번째 숫자가 보내지면서 계산이 됨 

 

그런데, 버튼을 누르는 순간 서블릿은 잠깐 올라왔다가 사라짐(죽음) -> 지역변수 까지도 다 의미없어짐

첫번째 버튼을 누르는 순간 받은 값을 어딘가에 기록해둬야함

그래야 두번째 버튼을 누르는 순간 앞의 값을 가지고 계산을 할 수 있음

=> 즉 상태유지가 필요함

 

상태유지를 위한 5가지 방법

<서블릿이 죽어도 값을 담아놓을 수 있는 공간>

1. application

2. session

3. cookie

4. hidden input

5. querystring