developer-ellen
인간 디버거의 로그 찍기
developer-ellen
전체 방문자
오늘
어제
  • 분류 전체보기 (217)
    • 회고록 (0)
    • 취뽀 및 커리어 여정의 Stack (2)
      • SSAFY 7기 (2)
    • 프로그래밍공부 (24)
      • c++ (0)
      • JAVA (3)
      • Spring (5)
      • design pattern (3)
      • BackDB (1)
      • Servlet&JSP (3)
      • Vue (4)
      • JPA (4)
      • Infra (1)
      • Linux (0)
    • AI (3)
      • papers (3)
      • trend (0)
    • 프로젝트진행 (0)
      • 데이터베이스 (0)
      • 서버개발 (0)
      • 인공지능 (0)
      • 하루정리 (0)
    • 포트폴리오 (0)
    • 알고리즘 (158)
      • 알고리즘문풀 (155)
      • 알고리즘공부 (3)
    • 통계공부 (15)
      • 시계열분석 (15)
      • 회귀분석 (0)
    • CS (14)
      • 컴퓨터네트워크 (4)
      • 운영체제 (8)
      • 데이터베이스 (2)
    • 주저리주저리 (0)
      • 필사 (0)
    • 취업관련정보 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • ARIMA모형
  • 삼성코테파이썬
  • SW역량테스트파이썬
  • 삼성코테기출자바풀이
  • 통계분석
  • 삼성코테파이썬준비
  • 시계열분석
  • Arima
  • 삼성코테준비
  • 코테파이썬
  • 삼성코테자바풀이
  • 삼성코테자바꿀팁
  • 백준파이썬풀이
  • c++ 빌더 패턴
  • 삼성코테구현문제추천
  • BOJ파이썬풀이
  • 운영체제인터럽트
  • 삼성코테구현풀이
  • MA모형
  • AR모형
  • 데이터분석
  • 삼성코테기출
  • 통계학
  • c++디자인패턴
  • 삼성코테파이썬풀이
  • 시계열
  • 카카오코테java풀이
  • 삼성코테자바준비
  • 카카오코테
  • SW역량테스트파이썬풀이

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
developer-ellen
프로그래밍공부/Servlet&JSP

Servlet에 대하여

Servlet에 대하여
프로그래밍공부/Servlet&JSP

Servlet에 대하여

2022. 3. 23. 00:20

Servlet

1. Servlet 이란?

  • 자바 서블릿(Java Servlet)은 바자를 이용해 웹페이지를 동적으로 생성하는 서버측 프로그램 혹은 그 사양
  • 흔히 "서블릿"이라 불림
  • 자바 서블릿은 웹 서버의 성능을 향상하기 위해 사용되는 자바 클래스의 일종
  • 서블릿은 JSP와 비슷하지만 JSP는 HTML 문서 안에 Java 코드를 포함하며, 서블릿은 자바 코드 안에 HTML을 포함하고 있음

2. Servlet의 동작 흐름

 

3. 사용자 정의 Servlet의 상속 구조

4. Servlet의 Life Cycle

  • Servlet class는 java SE에서 class아 다르게 main method 가 없음
  • 객체의 생성부터 사용(method call)의 주체가 사용자가 아닌 Servlet Container에게 있음
  • Clinet가 요청(request)을 하면 Servlet Container는 Servlet 객체를 한번만 생성
  • 초기화(한번만)하며 요청에 대한 처리(요청시마다 반복)를 하게 됨
  • Servlet 객체가 필요 없게 되면 제거하는 일까지 Container가 담당하게 됨
  • 객체 생성(Constructor), init(), destroy() 부분은 최초 요청 시 한번만 실행
  • service(), doGet(), doPost()는 요청 시마다 반복 실행

 

 

  • init() : 서블릿이 메모리에 로드될 때 한번 호출되며 코드 수정으로 인해 다시 로드되면 다시 호출
  • doGet() : GET 방식으로 data 전송 시 호출
  • doPost() : POST 방식으로 data 전송 시 호출
  • service() : 모든 요청은 service()를 통해서 doXXX() 메소드로 이동
  • destroy() : 서블릿이 메모리에서 해제시 호출되며 코드가 수정되면 호출

 

5. Servlet의 Parameter

1) GET과 POST 방식의 비교

  GET POST
특징 - 전송되는 데이터가 URL 뒤에 Query String으로 전달.
- 입력 값이 적은 경우나 데이터가 노출이 되도 문제 없는 경우에 사용
- URL에 데이터 표시 없이 전송
- HTTP header 뒤 body에 입력 스트림 형태로 데이터 전달
장점 - 간단한 데이터를 빠르게 전송 가능
- form tag 뿐만 아니라 직접 URL에 입력하여 전송이 가능함
- 데이터의 제한이 없음
- 최소한의 보안 유지 효과를 볼 수 있음
단점 - 데이터 양에 제한이 있음(2kb-> 2048byte) - 전달 데이터의 양이 같을 경우 GET 방식보다 속도가 느림
-->전송 패킷을 위해 body에 데이터를 구성해야하기 때문

** URL vs URI

  • URI (Unifrom Resource Identifier) : 인터넷 자원을 나타내는 고유 식별자
  • URL (Uniformed Resource Locator) : 프로토콜을 포함하여 해당 자원의 위치, path를 의미하며 일반적으로 사이트 도  메인을 의미
  • URL은 URI에 포함되는 개념

 

 

 

 

 

 

 

'프로그래밍공부 > Servlet&JSP' 카테고리의 다른 글

JSP(Java Server Page)란 ?  (0) 2022.03.23
Web Architecture  (0) 2022.03.22
  • Servlet
  • 1. Servlet 이란?
  • 2. Servlet의 동작 흐름
  • 3. 사용자 정의 Servlet의 상속 구조
  • 4. Servlet의 Life Cycle
  • 5. Servlet의 Parameter
'프로그래밍공부/Servlet&JSP' 카테고리의 다른 글
  • JSP(Java Server Page)란 ?
  • Web Architecture
developer-ellen
developer-ellen

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.