관리 메뉴

JIHYUN JEONG

JSP/Servlet 2일차 본문

Information Technology/JSP,Servlet

JSP/Servlet 2일차

StopHyun 2013. 3. 5. 17:17

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&section=03&t1=n

  여기서 article_num=30130304174730&section=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.     그림은 미리 서블릿을 구축해 둔 상황 






















































































































































3월 5일 수업요약.docx






'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
Comments