서블릿 매핑(Servlet Mapping) 이란?
예를 들어 설명하자면,
작성한 servlet에 접근을 하기 위해 해당 servlet에 패키지명부터 클래스명까지
모두 입력해주어야 한다.
이렇게 된다면 보안상의 문제(디렉토리 구조 노출)와
접근의 불편함(클래스명을 다 입력해주어야 함)이 있다.
이때 개발자가 간단한 URL을 접목시켜 위의 불편사항들을 해결할 수 있다.
이것이 서블릿 매핑이다.
서블릿을 매핑하는 방법
서블릿을 매핑하는 방법은 두가지가 있다.
1. web.xml 파일을 이용한 맵핑
2. Java Annotation을 이용한 맵핑
● web.xml 파일을 이용한 맵핑
EX) 파일의 구조가 아래와 같음
- src.com.servlet.ServletEx 인 servlet을 /SE 매핑하고자 할 때
1. 프로젝트의 web.xml 클릭
2. 아래와 같은 코드 입력
- servlet-class : 매핑하고자 하는 servlet 클래스
- servlet-name : 개발자가 지정한 servlet 이름이다. 아무거나 입력해도 상관없다.
단 <servlet>과 <servlet-mapping>안에 있는 servlet-name은 같아야 한다.
- url-pattern : servlet 매핑 url을 입력한다
● Java Annotation을 이용한 맵핑
1. 매핑하고자 하는 클래스 위에 Annotation 작성
- 매핑하고자 하는 클래스 바로 윗줄에 아래와 같이 입력한다.
@WebServlet("/사용자 지정 url")
@WebServlet("/hello") 를 입력하고,
브라우저에서 /Hello로 접근했을 때 정상 작동하는 걸 볼 수 있다.
@WebServlet("/hello")는 위에 web.xml에서 매핑하는 방법과 비교했을 때
servlae-name -> servletEx , urlPatterns = /Hello
와 같다.