본문 바로가기

JSP, Servlet

자바의 Servlet에 대해서, JSP, Servlet과 WAS에 대하여(그림참고)

참고: https://lordofkangs.tistory.com/37    

https://lordofkangs.tistory.com/36?category=868521

자바의 서블릿파일이 되기위해서는?

Servlet, ServeletConfig인터페이스를 구현한것이 GenericServlet 이고 이를 상속한 것이 내가 사용하고 있는 HttpServlet클래스인 것이다.

 

위 그림에서 볼수 있듯이 Servlet, JSP가 WAS안에 포함되는 개념임

 

클라이언트-서버 프로그램이 곧 웹프로그램이 아니다. 과거에는 아래 그림과 같이 클라이언트와 서버가 통신하면서 굳이 웹이 아닌 네트워크인 소켓, RPC 등을 사용하여 client와 server가 통신했다. 이렇게 되면 서버측의 프로그램을 수정했을때 클라이언트측에서 프로그램을 재설치(업데이트)하고 Client와 server간의 데이터가 수시로 전송되어야 하는 필요가 발생하는데 이러한 요구(네트워크를 사용하여 데이터를 전송하고 클라이언트 측의 프로그램을 업데이트, 재설치해야 하는 요구)를 충족시켜 주는 것이 웹프로그램인 것이었다(이런 맥락에서 위에서 CS프로그램이 곧 웹 프로그램이 아니었다고 말한것이다). 웹으로 오면서 클라이언트 프로그램이 사라지게 된 것이다(왜냐하면 모든 페이지는 백단에서 동적으로 만들고 그것을 웹을 통해 브라우저에 전송만 해주면 되고 브라우저는 그것을 단순히 보여주기만 하면 되므로. 하지만 자바스크립트가 사용되면서 다시 브라우저단에서 서버로 페이지가 아닌 데이터를 요청하게 되는 윈도우즈 프로그램이 프론트 단에 생기게 되면서 클라이언트에서 문서를 동적으로 만드는 기술을 다루는 프론트앤드개발자가 생겨난 것이다.(기존의 클라이언트와 구분해 주기 위해 프론트앤드 개발자라는 용어를 사용함)

 

 

기존에 내가 회사에서 배운것처럼 WAS(톰캣)는 동적인 데이터를 처리하기 위해 존재한다(반면 웹서버는 정적인 문서). 그리고 https://flexyduck.tistory.com/557 에서 본 것(중심내용은 WAR는 WAS의 규칙을 따라야 한다는 것이 었음)과 위의 그림에서 본것처럼 Servlet문서와 JSP문서는 WAS에 포함된다. 즉 Servlet과 JSP가 기본적으로 동적인데이터를 다룬다는 것이다.

 

정적, 동적으로 문서를 만들기 위한 코드들을 Server Application이라고 하고 그 안에 WEB Server, WAS가 포함된 것이다.

 

왜 Servlet이라고 명명되나? Server Application Let의 줄임말이다. Let이란 '단편'의 뜻.