* 본 글은 [뉴렉처]의 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를 실행하면 오류 발생
- 매핑 정보가 없기 때문에 서블릿이 갖고 있는 클래스명을 적어 http://localhost:8090/servlet/com.newlecture.web.Nana로 결과 출력됨 (HTTP 상태 404)
- localhost:8090/hello로도 오류 발생
- 블록 주석 처리 단축키: Ctrl+Shift+/
- 블록 주석 처리 해제 단축키: Ctrl+Shift + \
- 매핑 정보를 없앤 채 Nana.java를 실행하면 오류 발생
- 3) 서블릿 위에 @WebServlet(”URL")을 붙임
- 예: @WebServlet("/hello")
- 4) Nana.java를 실행
-
- http://localhost:8090/hi로 결과가 출력됨
- Annotation
- 일종의 주석 기능 > 메타데이터라고 볼 수 있음
- 보통 주석은 컴파일 과정에서 사라지는 설명문인데, Annotation은 컴파일 과정에도 사라지지 않음 (옵션에 따라 사라지게 할 수도 있음)
- 객체를 사용할 때 Annotation 정보를 이용해 실행에 영향을 줄 수 있음
'☕ Java 웹 프로그래밍 > Servlet & JSP' 카테고리의 다른 글
[Servlet&JSP] 한글로 된 문서의 컨텐츠 형식 지정하기 (0) | 2023.05.24 |
---|---|
[Servlet&JSP] Servlet 출력 형식의 이해 (0) | 2023.05.24 |
[Servlet&JSP] 이클립스를 이용한 서블릿 프로그래밍 (0) | 2023.05.23 |
[Servlet&JSP] 서블릿 프로젝트의 web.xml에서 발생하는 오류 해결 (0) | 2023.05.23 |
[Servlet&JSP] 웹 개발을 위한 이클립스 IDE 설치하기 (0) | 2023.05.23 |