특정 servlet 요청시 url에 full path를 쓰게되면 보안에 취약하고 주소가 복잡하기 때문에
Servlet Mapping을 통해 경로를 간단하게 지정할 수 있다.
[ Servlet Mapping 방법 ]
방법1. Annotation 이용하기
서블릿 생성 화면
서블릿을 생성할 때 위와 같이 클래스 네임과 동일한이름으로 mapping이 되기때문에
이 부분에 mapping할 주소를 넣는 방법도 있다.
서블릿
annotation이란 @를 이용해 특별한 의미를 부여하는 하나의 정형화된 방법이다.
서블릿 위에 @WebServlet("/경로값")이라는 annotation을 추가해준다.
여기서 경로값은 슬래시(/)로 시작해야하고,
클라이언트(browser)의 요청 URL에서 프로젝트 이름뒤에 오는 부분이다.(ex-포트번호/프로젝트명/blabla)
방법2. web.xml 이용하기
이클립스 -> Project Explorer -> new -> project 로 들어가서 Dynamic Web Project를 만든다.
프로젝트 생성
기본적인 설정후에 next를 하다보면 아래와 같은 화면이 나온다.
(Context root는 서버의 주소를 입력했을 시에 각 프로그램의 첫 진입을 할 디렉토리)
위와 같이 체크하게 되면 WebContent -> WEB-INF -> lib에 web.xml이 생성된다.
web.xml 초기화면
web.xml 초기화면에서 </web-app>위 체크된 부분에 아래 코드를 삽입해준다.
<servlet-name></servlet-name>의 값은 servlet의 이름이고,
<servlet-class></servlet-class>에있는 com.Mapping(패키지이름+서블릿이름)에 이름을 붙이는 것이다.
이제 mapping을 위해 <servlet-mapping></servlet-mapping>안의
<servlet-name></servlet-name>에 mapping할 서블릿의 이름을 적어주고,
(위에서 설정한 servlet의 이름과 반드시 일치해야한다.)
<url-pattern></url-pattern>에 원하는 간단한 주소패턴을 적어주면 된다.