
URL (Uniform Resource Locator) - 웹 상의 자원을 참조하기 위한 웹 주소
웹 페이지 (Web Page) - 웹 브라우저를 통해서 보여지는 화면
웹 서버 (Web Server) - 클라이언트 요청에 맞는 응답(웹 페이지)을 제공
웹 어플리케이션 (Web Application) - 웹 서버를 기반으로 실행되는 응용 소프트웨어
웹 어플리케이션 서버 (Web Application Server, WAS) - 요청이 오면 알맞은 프로그램을 실행하여 응답 만들고 제공하는 서버( 웹 서버 자체만으로는 동적인 요청을 처리하기 어려워, WAS가 도움을 줘야 한다.)
이클립스 Java EE



Context root : https://localhost:8080/BackEnd01_Hello/HelloServlet 에서 BackEnd01_Hello에 해당
Context directory : Web_Content : 각종 html css js 관련 파일들이 들어가있음



web.xml

Annotation


서블릿 인스턴스는 서블릿이 포함된 웹 컨테이너에 의해 제어된다.
서블릿 인스턴스가 존재하지 않으면 다음과 같은 작업을 수행한다.
1. 서블릿 클래스 로드
서블릿 클래스 인스턴스 생성
서블릿 인스턴스 초기화 - init 메서드 동작
웹 컨테이너에 의한 서비스 메서드 호출
destory 메서드를 호출하여 서블릿 종료
4 : 여러번 호출
1~3 : 한번만 호출
서비스 메서드는 요청이 들어올 때 마다 호출된다.
| GET | POST |
|---|---|
| 지정된 리소스에서 데이터를 요청하는 데 사용 | 리소스를 생성 / 업데이트하기 위해 서버에 데이터를 보내는데 사용 |
| query string(name/value 쌍)이 URL에 포함되어 전송됨. POST와 비교하여 보안에 취약 | HTTP header의 body에 파라미터를 포함하여 전송, 데이터 길이에 대한 제한 X , 매개변수가 브라우저나 웹 서버에 저장되지 않음. |
| URL 길이 제한 -> 전송 가능 데이터 길이 제한적(2048) ASCII 문자만 가능 | 제한 없음, 바이너리 데이터도 허용 |

| 구성요소 | 설명 |
|---|---|
| 프로토콜 | 웹 브라우저가 서버와 통신하기 위한 규약 |
| 서버 | 웹 페이지를 요청할 서버의 주소, 실제 IP 주소나 도메인을 입력할 수 있다. |
| 경로 | 서버 내의 상세 경로 |
| 쿼리 스트링 | 추가로 서버로 데이터를 전송하기 위해서 사용한다. ? 마크를 적어 시작 표시. parameter_name=value 형태로 작성하며 파라미터가 여러개일 경우 &로 구분하여 작성 |
text (영어 / 한글)
number
radio
checkbox
select
textarea
hidden
웹에서 발생하는 모든 요청에 대해 호출되는 Servlet을 만들어 처리함
Front Controller Pattern
Front Controller Pattern 장점