본문 바로가기

Web Programming

Chapter 2. 웹 애플리케이션 아키텍처 ②

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
앞서 Deployment Description(이하 DD) 이용해서 서블릿 이름을 지어주는 것이 좋다고 했습니다. 그 이유중 하나는 물리적인 하드코딩이 아니라 선언적인 의미에 불과하기 때문에 코드 수정이 용이하다는 것이었습니다. 뭐 이해하고 있다면 무슨 말인지 알기 쉽지만 이해를 못하는 상황에서는 저런 정의도 무의미 하다는 생각이 듭니다. 그래서 직접 DD를 작성해 보았습니다.

예전에 SpringFrameWork 테스트 한다고 만들어 놔던 web.xml 파일을 가져와 봤습니다.



저기서 중요한 부분은 <servlet> 이라는 태그와 <servlet-mapping> 이라는 두 태그 입니다. mapping 이라는 단어에서 유추 할 수 있듯이, 뭔가 선언된 서블릿을 실제 경로에 존재하는 서블릿 클래스와 매핑을 시켜주는 그런 과정인거지요.

<STEP BY STEP>

1. <servlet> 태그내에 <servlet-name> 태그는 자바 객체 변수명 선언하듯이 서블릿 이름을 설정해줍니다.
2. <servlet-class> 태그는 실제적으로 선언된 서블릿 클래스의 패키지 경로를 선언해줍니다.
3. <servlet-mapping> 태그 내의 <servlet-name> 태그는 매핑해줄 서블릿의 이름을 말합니다. 위에 이미 만든 서블릿이라면 같은 이름을 써주면 됩니다.
4. <url-pattern> 태그는 어떠한 URL 로 클라리언트가 접근할지에 대한 이름입니다.

이렇게 되면 위에 있는 선언은 말로 풀어서 하자면 dispatcher 라는 이름을 가진 org.springframework.web.servlet.DispatcherServlet 이란 서블릿은 .do 로 끝나는 모든 이름에 매핑됩니다. 라는 의미 정도로 해석이 되겠다. 따라서 http://localhost:8080/siteName/xxxx.do 로 클라이언트가 접근하게 되면 dispatcher라는 서블릿이 반갑게 맞아 주겠지요..