본문 바로가기

웹 개발 한걸음

[JSP] 서블릿(Servlet)의 매핑 방법


본 포스팅은

정보 제공용이 아닌

유튜브 뉴렉쳐님의 2020 Servelt & JSP 프로그래밍의 강좌와

여러 개발자 블로그들의 자료를

바탕으로 보고 배운 것을 직접 정리해본 포스트 입니다.

 


** 매핑을 하는 이유?

-> 보안에 위험이 될 수 있기 때문이다. 

-> 기존 경로가 http://[서버의 ip주소]:[포트번호]/프로젝트명/servlet/패키지명.클래스명 이라고 자세히 나와있는 부분을

-> URL 매핑을 통해 http://l[서버의 ip주소]:[포트번호]/프로젝트명/URL명 으로 간단하게 변경 하는 것이다.

 


 

**  Servlet에서는 2가지 매핑 방법이 있다.

  • 1. web.xml을 이용한 매핑 방법
  • 2. 어노테이션을 이용한 매핑 방법

※ 매핑된 서블릿의 주소는 http://[서버의 ip주소]:[포트번호]/[프로젝트명]/[매핑 이름]의 형태로 접근이 가능하다.


 

** 1. web.xml을 이용한 매핑

 

url 매핑은 web.xml에서 추가하여 사용할 수 있다.

서블릿 2.* 에서는 web.xml 파일에서만 url 매핑이 가능했지만

3.0이상에서는 어노테이션으로 매핑하는 것도 가능해졌다.

 

<servlet>
	<servlet-name>ClassName</servlet-name>
	<servlet-class>com.newlecture.web.ClassName</servlet-class>
</servlet>	

<servlet-mapping>
	<servlet-name>ClassName</servlet-name>
	<url-pattern>/hello</url-pattern>
</servlet-mapping>

 
 
<filter>
 	<filter-name>characterEncodingFilter</filter-name>
 	<filter-class>com.newlecture.web.filter.CharacterEncodingFilter</filter-class>
 </filter>
 
 <filter-mapping>
 	<filter-name>characterEncodingFilter</filter-name>
 	<url-pattern>/*</url-pattern>
 </filter-mapping>

 

  • <web-app> 태그 사이에 위의 내용을 작성한다.
  • <servlet-name>에는 위 아래 동일하게 서블렛 네임을 작성해준다. 
  • <servlet-class>에서는 자신이 매핑할 servlet의 패키지 경로를 작성해준다. 
  • <url-pattern>은 해당 servlet을 접근하기 위한 매핑 주소를 작성해주면 된다.

 

 

** 2. 어노테이션을 이용한 매핑 

 

가장 대표적인 방법으로 어노테이션 @WebServlet()을 이용하면 간편하게 설정할 수 있다.

@WebServlet("/ClassName")
public class ClassName extends HttpServlet {
	
	

}

 

직접 코드를 써주어도 되고 아래와 같은 바법으로 이클립스에서는 서블릿 생성할 때 바로 추가해줄 수 있다.

 

 

 


 

♣ 참고 및 인용