12.03

0

jsp

목록 보기
3/39

이렇게 넣지않고 이거 이용해서 추가할 수도 있다.

이거가 뭐였지

  • include 방식. 페이지 모듈화

<오늘 배울 내용>
클라이언트 A, B사이에서 공유할 수 있는 스코프에 대해 볼것
그전에 기본객체를 이해해야 함

자바스크립트 기본객체 : window, document
객체 선언하거나 생성한 적 없는데 쓸 수 있었음

기본객체 - 개발자가 선언, 생성 안해도 쓸 수 있는 객체

  • implicitObject.jsp

서버 사이드에서 동작하는 것은 50:50 - 요청을 분석, 응답을 잘 생성

정적 텍스트는 나중에 지역코드화된다.
jsp에서 html-정적텍스트


exception

에러가 발생하면 저 페이지로 처리하겠다


그럼 그 페이지는 이 페이지는 에러 처리하는 페이지다라고 나타냄


서블릿 동작 과정
처음 요청 후 새로고침 - 톰캣은 싱글톤객체 안만들고 쓰레드 분리하고 service()실행


rt.jar뒤짐->없으면 톰캣의 lib->web-inf밑에 클래스패스->work의 클래스패스

pagecontext제일 먼저 만들어지고 나머지 객체 만들수잇는 겟터가지고 있음

나머지 기본객체들 pageContext객체로 만들고 있음.

EL - 나머지 객체는 없는데 pageContext는 똑같음.
EL은 기본객체가 없는데 유일하게 있는게 pagecontext
->pageContext써서 겟터 잘쓰면 만들수있다는것


session

DB에 접속할때
1. 드라이버 로딩
2. 연결 객체 생성
3. 쿼리 객체 생성
4. 결과 받아옴
5. 연결 끊기 close

데이터베이스도 서버. 접속할 수 있는 클라이언트가 제한됨. 쓸 수 있는 한계가 있음. -> 사용 끝난 접속은 끊어줘야 됨. 이게 세션. 통로 개념

ibatis가 이 과정들 해주고 있어서 우리가 할필요 없었던것. 하지만 사용방법은 중요하지x 얘가 뭘 해주느냐. 동작 구조에 집중하기. 다른 프레임워크 써도 마찬가지

웹 어플리케이션에서 세션은?

클라이언트와 어플리케이션은 네트워크를 사이에 두고 떨어져있음-확실한 건모르고 추측해야됨

-> timeout 사용

네이버 하다가 끄고 잠드는 사람도 있는데 그냥 냅두고 잠드는 사람도 있음 - 이걸 판단해야됨 => timeout 30분이 지나면 만료됬다고 생각.

세션 쓰는 이유 - 클라이언트와 서버가 반대편에 있기 때문에

DB는 driverconnection종료 이게 있는데 네이버 종료 이런건 없음

-> 기간으로 사용

session traking

  • URL - 쿠키사용설정을 안한다고 해놔도 url에 같이 보내기 때문에 세션 살아있음. 하지만 쿠키로 가도 불안할판에 url에 넣는다? 누구나 하이재킹 가능
  • ssl - 암호화사용.

암호화

  • 단방향 : 복호화 불가능
  • 양방향 : 복호화 가능

하지만 암호화해도 브라우저와 톰캣사이에 암호키를 설정하는 과정에서도 보안문제 발생
-> 100% 안전한 방법은 없다.
그래서 쿠키 사용함.

application

sessionDesc.jsp에서 어플리케이션은 webStudy01

톰캣이 운영하고 잇는 어플리케이션은 2개 - ServletContext객체도 2개. ServletContext : 톰캣과 소통하기 위한 객체

하나의 어플리케이션에서 ServletContext객체는 싱글톤으로 운영이 된다.

사용 범위가 다름 - context는 application전체. 그것을 꺼내는게 ServeltContext로 꺼냄

주소만 알고잇음 - url리소스 컨텍스트패스 아래에 있다
이미지서블릿 - web-inf 밑에 classes밑에 있음 - 클래스패스

request, session 공통점 : 내부에 스코프라고 불리는 맵을 가지고 있다.


pageContext★★★★★

include

pageContext는 b로 가기전에 먼저 한번 방출함. 예외처리 안될수있음.

request는 buffer에..

include, forward쓸때 반드시 buffer에 대한 생각 하고 있어야됨

스코프 갖고 있는 애들 4개 - 기본객체 안에 저장영역 갖고 있다 그 저장영역은 맵

pageContext는 jsp페이지마다 1개 갖고 있다. - 스코프 영역 그 페이지 안 -> 공유 안됨.
request 스코프는 한페이지가 아님.
-> request가 넓음.

리다이렉트라면? request보다 오래 살아남을 수 있는 애 필요 - 세션 - 한 클라이언트.

쿠키의 트래킹. 크롬의 쿠키 저장소, 파이어폭스 저장소는 다름. 사람은 한명이어도 브라우저가 다르면 새로운 세션 만들어지는 것.

세션 - 한 클라이언트 하나의 브라우저

카페 접속자 명단 - 나나 또다른 카페회원이 공유되는 데이터여야 됨.

공유데이터 - 최소한의 저장소를 선택해야 됨. 세션에 하면 여러개가 된다..?

-> 어플리케이션 - servletContext

분리의 기준 - 공유의 범위(언제 이 데이터가 사라질거냐)

0개의 댓글