웹 서버의 근본적인 역할은 HTTP 요청에 대한 알맞은 응답을 해당 client에게 보내는 것이다. 최근의 웹은 단순히 HTML을 응답하기 보다는 DB 접근과 같은 복잡한 기능이 요구된다. Java App Server는 다양한 기능을 각각의 요청에 대해 servlet을 통해 처리한다.
servlet은 application과 Java App Server간의 interface라고 볼 수 있다. servlet을 통해 해당 application에 필요한 특정 기능을 수행한다. web.xml을 통해 어떤 servlet이 있으며 어떤 URL을 맵핑하는지 저장한다. servlet은 Java Reflection API를 통해 생성되며 init(), service(), destroy()가 호출될 수 있다.
JAR : Java ARchieve의 약자로 class 파일을 포함한 package들의 폴더로 이루어진 압축된 파일이다.
WAR : Web application ARchieve의 약자로 JAR과 거의 비슷하지만 특정 web application의 구성 파일을 포함하고 있다. WAR을 배치하면 app server는 web.xml을 찾고 그것을 사용한다.
Spring은 자바 플랫폼을 위한 오픈소스이며 제 3의 구성을 쉽게 연결시켜준다. application framework로 다음의 특성을 가진다.