▶ 서블릿
자바에서 웹 어플리케이션 개발을 위해 만들어진 표준.
▶ 서블릿 요청 처리과정
매핑 url에 맞는 요청 발생 -> 서블릿 컨테이너에서 매핑 서블릿의 인스턴스 검색
있다면 : 해당 서블릿의 콜백 메서드 호출
없다면 : 해당 서블릿의 인스턴스 생성 -> 서블릿의 콜백 메소드 호출
▶ 서블릿 등록 및 매핑
서블릿을 등록하는 과정에 설정된 모든 정보는 서블릿의 콜백 메소드내에서 ServletConfig 객체를 통해 접근이 가능하다.
1. web.xml에 직접 등록 및 매핑
2. @WebServlet을 사용한 자동 등록과 매
▶서블릿의 callback메서드 종류
∞ 객체는 언제 소멸되나??
▶ 서블릿 스펙이 있는데 왜 jsp를 써야하나? 서블릿 단점
1. 스크립트 방식에 비해 구현 후 반드시 컴파일을 해야한다.
2. 등록과 매핑과정을 거쳐야 한다.
3. 서블릿 리로딩 기능이 없는 WAS의 경우에 등록 후 웹 리퀘스트를 받기 위해서는 컨테이너를 재시작 해야한다.
-> 소스 고칠때마다 재컴파일 해줘야한다.
4. 어플리케이션 구현 소스 내에 UI구성 스크립트 소스가 들어가 웹 디자이너와 웹개발자 사이에 협업이 어렵다.
▶ 컴파일이란?
인간의 언어로 되어있는 소스를 이진수(바이너리)로 바꾸는 것
▶ 클래스패스란?
클래스를 찾을 때 시작점이 되는 위치
▶ xml과 json을 사용하는 이유?
xml은 언어를 타지 않아서 c로 만들어도 설정파일은 xml로 할 수 있다.
요청하는쪽(자바스크립트)과 받는쪽(자바)의 객체 표현 방식이 다름
-> 영어 역할을 하는게 xml, json.
xml보다 json이 더 가벼워서 더 많이 사용한다.
▶ ip와 port
ip는 물리적 주소체계이고 port는 논리적 주소체계이다.
ip 주소를 통해 서버를 찾고 port번호로 서버 안의 특정 서비스를 찾는다.
(우리가 했던 거에는 2가지 서비스-톰캣 80, 데이터베이스 1521)
▶ 톰캣
was, 서블릿 컨테이너, jsp 컨테이너, 미들티어
▶ 서블릿 컨테이너의 역할?
서블릿의 라이프사이클을 관리한다.
▶서버의 역할? 서버가 왜 필요한가
1. 클라이언트의 요청을 대기
2. 미들티어의 역할
서버는 요청이 들어오는지 계속 리스닝하고 있어야 한다. 80포트 24시간 감시하고 있어야됨. 요청이 들어오면 톰캣 서버가 잡아서 포트번호를 감지한다.(미들티어)
▶ 서버의 종류
1. W.S - 정적인 요청을 처리하기 위한 서버
2. W.A.S - 동적인 요청 처리
▶ 자바의 장점
▶ W.A.S 역할
1. 웹 어플리케이션을 운영한다.(미들티어)
▶ Web Container
웹 어플리케이션을 관리하고 실행할 수 있는 컨테이너
servlet Container : 서블릿의 라이프사이클을 관리하는 경우
JSP Container : JSP의 라이프사이클을 관리하는 경우
Web Container - 두 컨테이너를 통칭.
종류 - Tomcat, Jeus, WebLogic 등
▶ MIME(Multipurpose Internet Mail Extensions)
HTTP 등의 프로토콜에서 응답 데이터의 타입을 설명하기 위한 것.
▶ HTTP Request Message 구조
▶ 인코딩
서버로 전달되는 파라미터들은 URLEncoding 방식으로 인코딩되어 전달된다.
-> 서버에서 파라미터를 확보하기 전 디코딩 방식을 결정해줘야 함