WAS 란 DB 조회 혹은 다양한 로직 처리를 요구하는 동적 컨텐츠를 제공하기 위해 만들어진 애플리케이션 이다.
HTTP 프로토콜을 기반으로 사용자 디바이스에 애플리케이션을 수행해주며, 주로 DB 서버와 같이 수행된다.
WAS는 JSP, Servlet 구동환경을 제공해주기에 "웹 컨테이너" 라고 불린다
Tomcat , JBoss, WebSphere 등이 있다.
동적 웹 페이지에 사용되는 JAVA 기반 웹 애플리케이션 프로그래밍 기술
동적 데이터를 처리하여 정적인 페이지로 생성해주는 ' 서블릿 컨테이너 ' 에 사용되는 기법이다.
전 세계적으로 가장 많이 사용되는 오픈 소스 웹 컨테이너
JAVA Servlet을 지원하기 위한 JAVA 플랫폼
웹 애플리케이션의 다양한 규격을 준수하여 JSP,HTML 파일들로 구성된 .war파일을 배포해주는 엔진
ex )
만약 http://localhost:8080/getInfo?id=mangdo&year=2021
으로 사용자가 요청하였다면
HttpServletRequest request
request.getRequestURI();
request.getRequestURL();
request.getQueryString();
request.getParameter("id");
request.getServerName();
request.getServerPort();
request.getMethod();
request.getHeader("referer");
Console
RequestURL : http://localhost:8080/getInfo
RequestURI : /getInfo
QueryString : id=mangdo&year=2021
Get parameter : mangdo
ServerName(도메인) : localhost
ServerPort : 8080
Method : GET
Referer : http://localhost:8080/getInfo
(Refer? 현재 요청된 페이지의 링크 이전의 웹 페이지 주소)
request 객체의 메소드를 통해 사용자의 요청을 활용할 수 있게된다.
동기 Synchronous : 동시에 일어나는
프로그래밍 로직이 ' 한 방향 ' 으로 되어있으며
다음 업무를 진행하기 위해선 이전 업무 수행이 반드시 필요하다.
일부 영역이라도 데이터 변화를 하기 위해서는
전체 영역을 서버에 재요청해야한다.
어떤 의미에서는 정적 페이지와 유사
비지니스 로직이 여러 갈래로 되어있으며
이전 업무 수행 없이도 특정 업무만 따로 수행시킬 수 있다.
일부 영역에 데이터 갱신을 하더라도 나머지 전체 영역은
멈추는 것이 아닌 프로그램이 계속 돌아간다.
어떤 의미에서는 동적 페이지와 유사
ex) AJAX