[JSP] 서블릿 매핑
▶ 서블릿 매핑 방식
- 서블릿과 url를 매핑 시키는 방식은 다음그림과 같이 두 가지 방법이 있음
- 서블릿 만들기 챕터 에서는 1번 방법 이용
- 서블릿 3.0이상부터는 어노테이션(Annotation, 주석)을 이용한 URL 매핑 방법 지원
- Annotation을 이용한 방법이 여러 개발자들이 코드를 작성할 때 코드가 독립적이고 깔끔하게 정리되므로 Annotation 방법을 사용하는 것이 바람직함

▶ 서블릿 요청방식
- 웹 브라우저(클라이언트)는 url을 통해 서블릿 페이지를 요청
- url을 통해 요청할 때 다음그림과 같이 "/web-inf/classes/HelloServlet.class", web-inf 폴더안은 사용자에 의해 요청되면 안됨(웹 브라우저가 직접 서블릿 코드를 요청하면 안됨)
- web-inf안에 파일들, 즉 서블릿 파일들은 특별한 방법으로 웹 브라우저(클라이언트)가 요청해야함

▷ url과 서블릿 매핑
- 웹 브라우저가 "/hello"라는 url을 요청하면, "/hello"라는 url이 요청 왔을때 실행되는 서블릿 코드를 매핑 시킴
- WAS는 url과 매핑된 서블릿 코드를 찾아서 실행
- "/web-inf/classes/HelloServlet.class"와 같이 web-inf 내부의 파일들의 경로와 서블릿 이름이 노출되는 것과 달리 매핑하여 url을 요청하면 web-inf 내부 정보들을 비공개로 하고 웹 브라우저가 직접 요청하지 못하게 함

▶ 서블릿 매핑 방식 2가지
① web.xml에서 url과 서블릿 매핑 (배포 서술자파일 설정)
- 배포 서술자란 웹 애플케이션의 환경설정 정보를 담은 파일
- web.xml파일에서 url과 서블릿 매핑 설정

→ "mapping1"이라는 이름으로 서블릿 코드와 url 매핑

→ /hello라는 url이 요청오면 HelloServlet 서블릿을 실행시킴

▷ 실행결과

② Annotation을 이용한 서블릿과 url 매핑
- Annotation(주석)을 이용하여 "/hello"라는 url이 요청오면 다음 서블릿이 실행된다


→ web.xml 파일에서 "metadata-complete="false" 로 설정해야함
(web.xml을 통해 매핑하는 코드는 주석처리하거나 지운다)

▷ 실행결과
