자바에서 로그인의 처리
1. 사용자가 로그인 성공하면, 저장소(HttpSession)에 데이터를 저장한다.
- 무슨 데이터를 저장하는가? 일반적으로 계정을 저장한다.
2. HttpSession에 데이터를 저장하는 방법(method)가 뭐냐? setAttribute()
- setAttribute()의 사용방법 :
setAttribute("상자이름",데이터);
3. HttpSession(설계도)를 데이터로 생성하는 방법?
아파치가 실행되면 생성하므로 개발자가 할 필요가 없다.
아파치가 실행되면 HttpSession을 데이터로 생성한 후, session이라는 변수에 저장
HttpSession에 "tiger"를 저장하는 방법
session.setAttribute("상자이름","tiger");
4. 요청이 들어올 때 마다, session에 상자가 있는지를 검사한다.
- 상자가 session에 있으면, 로그인 한 요청으로 판단한다.
- 상자가 session에 없으면, 로그인 하지 않은 요청으로 판단한다.
5. 저장소(HttpSession)에서 상자이름(속성이름)을 찾는 방법(method)가 뭐냐?
변수 = session.getAttribute("user");
해석:저장소(HttpSession)에서 user라는 이름의 상자(속성)를 찾은 후,
상자안에 데이터로 바뀐다.
참고:속성을 영어로 attribute라고 한다.
getAttribute: return 메서드
method는 두가지가 있다 : void메서드, return메서드
session.setAttribute("상자이름(속성이름)",데이터);
setAttribute: void 메서드
5번의 확장
왜 형변환을 하는가? --- 컴파일언어의 특징과 관련이 있다.
double 변수 = (double)session.getAttribute("user");
컴파일 언어의 특징 : 실행하기 전에 모든 것을 완벽하게 설정한다.
컴파일 언어로 만들어진 시스템은 실행하면, 실행만 된다.
--> 컴파일언어는 실행할 때 실행만 하므로 빠르다.
스크립트 언어로 만들어진 시스템을 실행하면, 그 때 한줄,한줄 컴파일하고 실행이 된다.
--> 스크립트 언어는 실행할 때, 컴파일과 실행을 한줄씩 하므로 느리다.