728x90

웹 개발 시 서버에 배포하면 화면이 제대로 동작하지 않은 경우가 있다. 이유는 기존 js파일이 캐시에 적용되어 있기 때문이다. 이때 시스템 시간을 불러오는 'System.currentTimeMillis()'를 활용하면 편하다.

 

case 1.

<script type="module" src="test.js?v=20230116"></script>

이렇게만 해도 배포할 때 새로운 test.js로 적용될 것이다. 하지만 test.js를 수정할 때마다 ?v=20230116을 바꿔줘야 한다.

 

case 2.

<script type="module" src="test.js?v=<%=System.currentTimeMillis() %>"></script>

문법 '?v=20..' 에 수동으로 작성하지 않아도 자동으로 날짜를 작성해주기 때문에 변경하지 않아도 되서 편하다. 하지만 secure coding 이슈가 발생할 수 있다.

 

case 3.

<script type="module" src="test.js?v=<c:out value"<%=System.currentTimeMillis() %>"/>"></script>

jstl로 System.currentTimeMillis()를 감싸주었다. 이렇게 하면 위 case 1, 2의 단점을 모두 보완할 수 있다.

728x90
TOP