하지만 url,SSL(secure socket layer)들도 완벽하지 않아서 쿠키를 사용한다.
세션의 트래킹모드가 어떤점이 유용한지
그것을 was에서 어떻게 사용할 수 있는지 알아야
context - 환경
servletContext -서블릿이 운영되고 있는 환경. 서블릿이 놓여있는 어플리케이션에 관한 정보 + 어플리케이션이 있는 서버에 관한 정보
모든 자원은 파일형태로 존재 - 접근하려면 그 경로 알아야됨
하지만 브라우저는 이 경로 모르고 톰캣에 따라 달라짐..?
그래서 web resource가 중요. 이것을 통해 접근할 수 있다.
action이 없음 - 현재 브라우저 주소
=>web-inf밑에 있기 때문에 여기까지 올 수 있는 서블릿 필요하고 그 주소를 이 브라우저의 주소로 매핑하면 됨.
여기서 이름 선택한것을 처리하는 서블릿 따로 만들필요 없음. 처음 요청은 get방식이고 이름 선택해서 가는것은 form -> post방식이기 때문에
이름 중복될 수 있어서 식별할 수 있는 값도 넣어줘야됨.
디자인 패턴
1. 객체와 객체 사이의 관계로 행동이 나옴. 관계에 대한 패턴?
2. 객체 생성에 대한 패턴
VO=DTO=MODEL
VO생성 규칙
1.상태 정보 온전히 가지고 있어야됨 - 프로퍼티 정의
2.그 프로퍼티는 아무나 수정할 수 있으면 안됨-캡슐화
3.캡슐화된 프로퍼티에 접근 할 수 있어야 됨 - 겟터, 셋터
4.객체 비교 - equals()
5.객체의 상태 확인 - toString
6.그 상태를 기록할 수 있어야됨 - 직렬화 가능.그래야 pc꺼져도 안날아감
syso찍을때 자동으로 실행되는것 - toString().
상태를 확인할 수 있는것
ObjectInputStream - 자동으로 직렬화해줌
ObjectOutStream - 역직렬화
VO - 계층형 아키텍처에서 필요.
dao-service-controler
각각의 계층에서 사용되는 객체 : layer
그 계층으로 이동할때 데이터들이 이동해야됨 - VO로
layer 아키텍처랑 MVC랑 비슷함.
1. 모든 멤버변수 가지고 있는(셋팅해줄 멤버변수 갖고있는) private 생성자 필요
2. 이 생성자는 외부에서 호출 못함 - 객체 못만듬- 내부에서 호출해서 만들수있는애 필요 -> builder를 만들어줌
3. builder안에서 생성자 호출해서 만들어줘야됨 -> build()메서드가 한개는 꼭 필요
4. Builder안에 build의 대상이 되는 VO와 똑같은 상태의 객체가 필요. 생성자랑 똑같은 애
5. 현재 가지고 있는 상태와 이름이 동일한 메서드를 만들어주고 그 안에서 상태를 셋팅해준다.
this를 반환하기 때문에->jquery처럼 객체의 뭐가 만들어진다...도큐먼트 구조?
<오늘 핵심>
스코프를 각각의 상황에 맞게 쓸 수 있어야
자바빈
equals가 없다면?
여기에서 계속 객체의 주소를 비교하지 않고 내용을 비교해서 같다고 나올것.
=> equals 오버라이딩 꼭 필요!
과제
서버사이드 리소스를 익스플로러로 구현
삭제, 끌고가면 이동되게, 복사
기본 CRUD
api 활용해볼것
회원가입
이메일, 이름, 비번
CRUD
최대한 많은 것들을 써보라
layer아키텍쳐 써보되 다오에서 저장하는거 디비말고 맵에
객체생성 디자인패턴
어뎁터 패턴 미리조사
-첫번째 과제 해결하기 수월해짐
인메모리
db를 왜 맵으로 남길지 생각해보기