JSP 자바 수정 후 WAS 재기동 안 해도 되는 이유

일반적으로 웹 애플리케이션의 자바(Java) 소스 또는 xml 등의 설정을 수정하는 경우 웹 애플리케이션 서버(WAS)를 재기동해야 수정 내용이 반영됩니다. 그러나 JSP 파일은 서버 재기동 없이도 수정이 반영됩니다. html 소스를 수정하는 게 재기동 없이 반영되는 건 이해가 되는데, 컴파일이 필요한 자바 소스를 수정하는데 어떻게 즉시 반영이 가능한 걸까요?

JSP 수정 즉시 반영 이유

JSP(Java Server Pages)와 일반 자바 코드(class 파일) 간 차이를 이해하려면 JSP의 작동 원리를 알아야 합니다. JSP 파일은 요청 시에 웹 애플리케이션 서버에서 자바 코드로 변환되고(컴파일) 실행됩니다. 웹 애플리케이션 서버는 JSP 파일에 변동이 감지되면 자동으로 이 파일을 재컴파일합니다. 때문에 변경사항이 즉시 반영됩니다.

 

반면 일반적인 자바 클래스 파일(.class)은 컴파일된 바이트 코드이기 때문에, 원본 코드(.java 파일)에서 변경이 발생하면 해당 코드를 다시 컴파일하고 서버에 적용하려면 웹 애플리케이션 서버를 재기동해야 합니다.

참고사항

물론 모든 WAS 환경이 JSP의 자동 재컴파일 기능을 지원한다고 보장할 수는 없습니다. 환경 설정, 성능 최적화 또는 다른 이유로 이 기능이 꺼져 있을 수도 있습니다.

 

JSP 수정 이후 웹 페이지에 변경 사항이 잘 반영되지 않으면 리소스까지 새로고침하는 CTRL + F5 키를 눌러서 확인해 보세요.

반응형

댓글

Designed by JB FACTORY