본문 바로가기
☕ Java 웹 프로그래밍/Servlet & JSP

[Servlet&JSP] 어노테이션을 이용한 URL 매핑

by 일단연 2023. 5. 23.

* 본 글은 [뉴렉처]의 Servlet&JSP 프로그래밍 강의를 듣고 정리한 글입니다.

 

2020 Servlet&JSP 프로그래밍

 

www.youtube.com

 

서블릿 코드를 URL과 매핑하는 방법을 알고 싶다면, 아래의 글을 참고하세요.

[Servlet&JSP] 3일차 | 서블릿 객체 생성과 실행

 

 어노테이션을 이용한 URL 매핑 

어노테이션을 이용한 URL 매핑

  • 서블릿 3.0부터 등장한 방법
  • web.xml에서 서블릿과 URL을 매핑하는 것과 같은 작업. 더 간단함
  • service( )메소드를 실행하려면 사용자에게 요청할 수 있는 URL을 주고 그 URL과 서블릿을 매핑해야 함 > 이를 위해 web.xml이라는 외부 파일을 사용했음
  • Annotation을 이용하면 더 이상 web.xml에서 불필요한 설정을 할 필요가 없음
    • 협업할 경우, 각자의 web.xml을 합칠 필요 없이 Annotation으로 분리할 수 있음

어노테이션을 이용한 URL 매핑 방법

  • 1) web.xml의 <web-app>태그에서 metadata-complete 속성 값이 “false”여야 함
    • true로 놔두면 Annotation으로 설정한 내용을 읽어들이지 않게 됨
    • metadata-complete="true": 모든 메타데이터(설정)가 web.xml에 있다는 의미. 다른 곳에서 설정하지 않았으니 web.xml에서 찾아라
    • metadata-complete="false": web.xml 외에도 Annotation을 이용해 설정한 것이 있으니 그걸 찾아라
  • <web-app xmlns="..."
      ...
      version="4.0"
      metadata-complete="false">
    
  • 2) web.xml의 <servlet>, <servlet-mapping> 태그를 주석처리
    • 매핑 정보를 없앤 채 Nana.java를 실행하면 오류 발생
    • 블록 주석 처리 단축키: Ctrl+Shift+/
    • 블록 주석 처리 해제 단축키: Ctrl+Shift + \
  • 3) 서블릿 위에 @WebServlet(”URL")을 붙임
    • 예: @WebServlet("/hello")
  • 4) Nana.java를 실행
  • Annotation
    • 일종의 주석 기능 > 메타데이터라고 볼 수 있음
    • 보통 주석은 컴파일 과정에서 사라지는 설명문인데, Annotation은 컴파일 과정에도 사라지지 않음 (옵션에 따라 사라지게 할 수도 있음)
    • 객체를 사용할 때 Annotation 정보를 이용해 실행에 영향을 줄 수 있음