Servlet

JIN·2023년 4월 1일
0

삽히

목록 보기
1/6

1. WebArchitecture

  • 이클립스 window-preferences에서 인코딩 설정해주기



2. Servlet

자바 서블릿은 자바를 사용하여 웹페이지를 동적으로 생성하는 서버측 프로그램 혹은 그 사양
자바 서블릿은 웹 서버의 성능을 향상하기 위해 사용되는 자바 클래스의 일종이다.
서블릿은 JSP와 비슷한 점이 있지만
JSP가 HTML문서 안에 Java 코드를 포함하고 있는 반면,
서블릿은 Java코드 안에 HTML를 포함하고 있다는 차이점이 있다.
[출처:위키백과]





3. Servlet Life-cycle

Servlet class는 JavaSE에서의 class와는 다르게 main method가 없다.
즉 객체의 생성부터 사용(method call)의 주체가 사용자가 아닌 Servlet Container에게 있다.
Client가 요청(request)를 하게 되면 Servlet Container는 Servlet객체를 생성(한번만)하고, 초기화(한번만)하며 요청에 대한 처리(요청시마다 반복)를 하게된다. 또한 Servlet 객체가 필요 없게 되면 제거하는 일까지 Container가 담당하게 된다.

즉 주체는 Servlet Container
생성(init()) - 1번
초기화 - 1번
처리(doPost(),doGet(),service()) - 요청시마다, 여러번 호출
제거(destory()) - 1번

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



4. Servlet Parameter 처리

GETPOST
특징전송되는 데이터가 URL뒤에 Query String으로 전달. 입력값이 적은 경우나 데이터가 노출이 되어도 문제가 없을 경우 사용URL과 별도로 전송. HTTP header 뒤 body에 입력 스트림 데이터로 전달.
장점간단한 데이터를 빠르게 전송. form tag뿐만 아니라 직접 URL에 입력하여 전송 가능데이터의 제한이 없다. 최소한의 보안 유지 효과를 볼 수 있다.
단점데이터 양에 제한이 있다. (location bar(URL + parameters)를 통해 전송할 수 있는 데이터의 사이즈는 2kb(2048byte)로 제한된다.전달 데이터의 양이 같을 경우 GET방식보다 느리다. (전송 패킷을 body에 데이터를 구성해야 하므로)

GET : URL뒤 Query String / 빠름 / 데이터 양 제한
POST : HTTP header뒤 body / 데이터 양 제한 x / 느림

0개의 댓글