URL 리소스를 관리하는 방법이 궁금합니다.

2014-11-21 20:47

안녕하세요.

웹 개발을 막 시작한 초보 개발자입니다.

웹개발을 하다보니 URL이 변경되거나 파라미터가 추가되는 경우가 많습니다. 이때마다 페이지를 하나하나 찾아 변경하니 비효율적이란 생각이 드네요.

이렇게 변경이 잦은 상황에선 어떻게 URL을 관리해야 좋을까요? 한 곳에 URL 리소스를 모아놓고 한 번만 수정해서 모두 반영되게 하고 싶습니다.

개발 환경은 스프링 3.1, 뷰 엔진은 JSP입니다.

JSP 커스텀 태그로 각 url마다 메소드를 만들어 사용하는 방법을 보았는데, 쓰다보니 이도 그닥 깔끔하지 않다는 생각이 들어서요.

어떤 방법을 주로 사용하는지 궁금합니다. :)

1개의 의견 from SLiPP

2014-11-24 14:50

저도 이와 관련한 많은 경험이 있는 상태가 아니기 때문에 완벽한 해결책을 이야기하기는 힘들지만 제 생각을 공유해 봅니다.

먼저 두 가지로 나뉘어 생각해 봐야할 듯 해요.

  • URL의 경로가 변경되는 경우. 특히 javascript의 경우 라이브러리의 버전이 변경되는 경우 url이 변경되는 경우가 자주 발생하죠.
  • 파라미터에 변경이 발생하는 경우

먼저 파라미터가 변경되는 경우를 생각해보면 이 부분에 대한 중복은 제거하기 힘들지 않을까라는 생각이 듭니다. 이 부분은 원론적으로 파라미터의 변경이 왜 자주 발생하는지를 찾아보는 것이 좋지 않을까요? 저는 딱히 생각나는 아이디어가 없네요. 다른 측면에 원인이 있는지 파악해 보고 파라미터의 변경을 최소화할 수 있는 방법을 찾는 것이 좋지 않을까 생각해요.

첫 번째 이슈인 URL 경로가 변경되는 경우에는 생각한데로 URL 리소스를 한 곳에 모아 놓고 모두 반영하도록 하는 것이 의미 있다고 봅니다. 저도 그렇게 개발한 경우가 있고요. 이럴 경우 도메인이 변경되거나 url이 변경되더라도 설정 파일 하나 바꿈으로써 변경에 대응할 수 있었어요.

예를 들어 다음과 같이 개발할 수 있을 겁니다.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE properties SYSTEM "[http://java.sun.com/dtd/properties.dtd">](http://java.sun.com/dtd/properties.dtd">)
<properties>
<entry key="jquery.js">/lib/jquery/1.7.2/jquery-1.7.2.min.js</entry>
<entry key="jquery.jcaret.js">/lib/jquery.caret/1.02/jquery.caret.1.02.min.js</entry>
<entry key="jquery.dimensions.js">/lib/jquery.dimensions/1.1.2/jquery.dimensions.pack.js</entry>
<entry key="jquery.autocomplete.css">/lib/jquery.autocomplete/jquery.autocomplete.css</entry>
<entry key="jquery.ui.js">/lib/jquery.ui/1.8.18/jquery-ui-1.8.18.custom.min.js</entry>
</properties>

위와 같이 properties 형태로 관리하고 서버가 시작하는 시점에 메모리로 초기화할 수 있겠죠. 그리고 jsp에서는 다음과 같이 커스텀 태그를 만들어 사용하면 되겠죠.

<script type="text/javascript" src="${url:lib('jquery.js')}"></script>
<script type="text/javascript" src="${url:lib('jquery.validation.js')}"></script>
<script type="text/javascript" src="${url:js('/lib/jquery.anytime/4.1112K/anytimec.js')}"></script>

한번 도전해 보시고요. 추가적으로 궁금한 내용 있으면 질문 다시 주세요.

의견 추가하기

연관태그

← 목록으로