JSP의 컴파일

Reading time ~1 minute

최근 스프링을 공부하면서 JSP는 코드를 수정한 후 빌드를 다시하지 않아도 사용할 수 있다는 개념을 알게 되었다. 즉 이미 배포 되어 있는 서비스에 JSP가 변경되더라도 서버를 재시작하는 재배포의 과정 없이 JSP파일만 수정해주면 바로 서비스에 적용이 가능하다는 것이다. JSP에도 java 코드가 있는데 어떻게 컴파일을 하지 않고 동작하는 것인지 의문이 생겨서 정리해보았다.


Servlet 과 JSP 의 컴파일 시점 비교

서블릿은 컴파일하면 class 파일이 생성되어 배포되고 런타임 시에 WAS에 의해 동작하게 된다. JSP파일은 빌드시에 컴파일되지 않고 그 파일 그대로 WAR에 포함되어 배포된다. 그렇다면 JSP의 Java 코드는 어떻게 동작하게 될까? JSP는 런타임 시에 컴파일이 이루어진다. 최초로 특정 JSP 파일을 필요로하는 요청이 들어오면 WAS가 해당 JSP파일을 컴파일하여 객체로 생성하고 반환해준다. 그 후에 요청에는 다시 컴파일하지 않고 이전에 생성했던 객체를 사용한다.

JSP파일이 수정된다면?

컴파일된 JSP의 객체정보에 컴파일된 시간을 기록한다. JSP파일의 변경시간과 비교하여 파일이 변경되었다고 판단되면 재컴파일하여 요청에 응답한다.

클라우드 컴퓨팅(Cloud Computing) 이란?

클라우드 컴퓨팅이란?클라우드 컴퓨팅이란 특정한 기술이 아니라 인터넷에 존재하는 클라우드를 사용하여 정보 처리하는 사고방식 혹은 개념을 말합니다. Amazon AWS 클라우드 컴퓨팅 정의에 의하면 인터넷을 통해 IT 리소스와 애플리케이션을 원할 때...… Continue reading