웹 애플리케이션의 환경설정 정보를 담은 파일
WAS가 처음 구동될 때 이 파일을 읽어 설정 내용을 톰캣에 적용
web.xml에서 에러 코드에 대한 예외 처리 페이지 설정 가능
web.xml에 등록해 두면 브라우저에서는 컨텍스트 이름만으로 요청하여 간단하게 표시가 가능
여러 개의 welcome 파일 지정이 가능
server.xml에 등록하는 웹 애플리케이션
톰캣이 인지하는 하나의 애플리케이션
▪ 웹 애플리케이션 당 하나의 컨텍스트 등록
▪ 웹 애플리케이션 이름과 같을 수도 있고 다를 수 도있음
▪ 컨텍스트 이름 중복 불가
▪ 대소문자 구분
서버 쪽에서 실행되면서 클라이언트 요청에 따라 동적으로 서비스를 제공하는 자바 클래스
서블릿은 독립적으로 실행되지 못하고 톰캣과 같은 JSP/servlet 컨테이너에서 실행된다.
▪ 서버 쪽에서 실행되면서 웹 브라우저 요청 시 기능을 수행
▪ 기존 정적 웹프로그램의 문제점을 보완하여 동적인 기능을 제공
▪ 모든 메소드는 스레드 방식으로 실행
▪ 자바로 만들어져 자바의 특징(객체지향)을 가짐
▪ 컨테이너에서실행
컨테이너 종류에 상관없이 실행 –> 플랫폼독립적
▪ javax.servlet.http 패키지의 HttpServlet 클래스를 상속받음
스스로작동할수없는서블릿을관리하는컨테이너
클라이언트와 통신하기 위해 특정 포트로 소켓을 열고 I/O 스트림을 생성하는 등 복잡한 과정을 간단히 해주는 API를 제공
서블릿을 인스턴스화한 후 초기화하고, 요청에 맞는 메소드를 호출한다. 응답후가비지컬렉션을통해객체를소멸
서블릿 요청들은 스레드를 생성해 처리한다.
멀티 스레드 방식으로 여러 요청을 동시에 처리 가능하다.
보안 기능을 지원하므로 별도로 구현하지 않아도 된다.
클라이언트가 서블릿에 요청을 보내면, 서블릿도 자바 클래스이기 때문에 먼저 초기화 과정을 거치고, 메모리에 인스턴스가 생성된 뒤 요청에 대한 서비스를 수행한다.
요청 처리가 끝나면 서블릿은 소멸 과정을 거치며 메모리에서 제거된다.
각 과정에서 호출되어 기능을 수행하는 메서드들이 서블릿 생명주기 메서드이다.
서블릿 생명주기 메서드
서블릿 실행 단계마다 호출되어 기능을 수행하는 콜백 메서드
init() 메소드를 호출하여 서블릿을 초기화service() 메소드를 호출해서 서블릿이 브라우저의 요청을 처리service() 메소드는 특정 HTTP 요청(GET, POST 등)을 처리하는 메소드doGet(), doPost() 등 호출destroy() 메소드를 호출하여 서블릿을 제거클라이언트로부터 요청을 받아 비즈니스 로직을 처리하고, 그 결과를 다시 클라이언트에게 돌려주는 과정
요청이나 응답과 관련된 API는 모두 javax.servlet.http 패키지에 있다