본문 바로가기

Servlet&JSP

Servlet Mapping

특정 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> 원하는 간단한 주소패턴을 적어주면 된다.

728x90
반응형