일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- node.js
- JavaScript
- IT
- Oracle DB
- docker
- 비지니스영어
- SAP ERP
- 오라클
- Spring Framework
- 영어
- 자바
- 딥러닝
- nodejs
- 노드
- 유럽여행
- SAP
- Java
- Python
- ABAP
- 자바스크립트
- SAP ABAP
- 머신러닝
- Programming
- 오라클 디비
- sap mm
- 도커
- Mac
- db
- 파이썬
- oracle
- Today
- Total
JIHYUN JEONG
JSP/Servlet 2일차 본문
P.31
* 서블릿 동작원리 - GET 방식
- HTTP 요청 방식을 7가지로 나누어 놓음
- 요청방식: GET/POST 방식
- GET 방식일떄의 요청 메시지의 구성 : request라인, Hearder, body
- request라인은 3가지의 정보로 구성되어 있음, 그것을 구분하기 위해 공백을 줌
- 요청라인의 3가지 정보 : 방식,URL(주소+데이터), 프로토콜
- Header : 메세지를 보내는 쪽하고 연관된 정보
- HTTP 프로토콜의 헤더의 정보가 있음
- 프로토콜의 정의된 값만 달리하여서 보냄
- 서버는 그 값이 어떤 정보를 의미하는지만 알고 있음.
- 헤더의 정보는 HTTP 프로토콜의 정의되어 있음.
- 단점 : URL에 데이터가 붙어서 나오기 떄문에 보안이 포스트 방식보다 취약함
- GET은 페이지를 얻기 위해
- 하이퍼링크는 GET 방식, 포스트로 바꿀수 없다.
- 예시
http://www.pressian.com/article/article.asp?article_num=30130304174730§ion=03&t1=n
여기서 article_num=30130304174730§ion=03&t1=n는 데이터임, URL 뒤에 있는건 데이터
- 서버에 무엇을 보내는 것이 아니라 서버에 있는 정보를 가져오기 위해서 사용
* 서블릿 동작원리 - POST 방식
- 요청라인의 3가지 정보 : 방식,URL(주소), 프로토콜 -> 데이터는 바디에 있음
- 데이터를 URL(주소) 뒤에 붙이는게 아니라 body에 붙임
- 요청방식 : 원래 목적이 웹 페이지를 요청할 떄 단순하게 얻는게 아니라 서버로 필요한 데이터를 보내면서 그에 대한 결과값을 받기 위한 방식
- 데이터를 바디에 보여주기 떄문에 GET 방식에 비해 보안이 안전하다.
- 서버에서 내가 원하는 페이지를 받아볼 떄 필요한 정보를 받아보기 위해 고안된 방식으로 데이터를 바디에 저장하는 방식
P28
□ HTTP 응답 주요 구성요소
첫째줄 : 프로토콜, 상태코드, 상태메세지(화면에 뿌리는 용도)
헤더(Header) : text type
바디(Body) : 페이지의 결과 (out.println의 결과가 다 이쪽에 저장됨)
- 컨텐츠의 타입을 헤더로 보냄
- 헤더에 세팅된 text type을 보고 브라우저가 처리함
○ 첫번째라인 : status 라인
• Request : 얻는다 메소드 변수, 헤더, URL 등을 얻어옴
• Response : 세팅, 설치, 저장
※ 알아둘 것
• doGET 방식 :
• doPost 방식 :
□ 순서
서블릿인거 확인하면 객체생성
※ call back 메서드 : 호출하지 않아도 자동으로 호출해주는 메소드(Ex. doGet 메서드)
※ doGET 메서드 : 방식이 포스트 방식으로 요청이 이루어 질 때 반응하는 메서드
※ 항상 서버는 응답을 보냄 실패는 성공이든
※ request 와 response는 한쌍, 재사용 불가
※ 요청객체는 일회성
※ 컨테이너는 스레드마다 request, response 객체를 생성한다.
P37
서블릿 라이프 사이클
1. 클래스 로딩
2. 서블릿 인스턴스화(생성자 실행) , 생성자를 만들지 말 것 [init()이 생성자 역할을 함]
3. Init()
4. Service()
5. Destroy()
※ 서블릿은 단일객체로 동작하게 되어있다. 따라서 ini(), destroy()는 한번만 실행되지만 service()는 쓰레드로 여러 번 동작하게 되어 있다.
어떤 한 서블릿이 한번 생성된 이후부터는 service()만 계속 생성된다.
※ 서블릿이 destroy() 되는 경우
1. 서버를 내릴떄’
2. 기존것을 reload를 하기 직전에
※ web.xml에 굉장히 자주 호출되느 서블릿은 미리 준비를 해 둘 수 있다. 가장 처음 서블릿을 동작시키는 사람이 클래스 로딩 ~ init() 시작을 줄여주기 위해
P38 ~ 40 아주 중요함 이해할 것
1. 그림은 미리 서블릿을 구축해 둔 상황
'Information Technology > JSP,Servlet ' 카테고리의 다른 글
[JSP/Servlet] EL(Expression Language) (0) | 2013.03.13 |
---|---|
JSP/Servlet 3,4,5일차 (0) | 2013.03.08 |
Servlet/JSP 1일차 수업 (0) | 2013.03.04 |