[JSP] Servlet Mapping

Junseo Kim·2020년 1월 9일
0

[JSP]JSP기초

목록 보기
3/19

Servlet Mapping이란

Servlet Mapping이란 특정 servlet을 요청할 때, 전체 경로를 url에 써주면, 너무 복잡하고 보안에도 취약하기 때문에, 간단하게 경로를 표현해주는 것이다.

servlet 매핑 방법은 두 가지가 있다.
1. xml 이용
2. annotaion 이용

xml을 이용하여 servlet mapping

xml을 이용하여, servlet mapping을 해주기 위해서는 web.xml파일에서 servlet mapping을 해주어야한다.

<실습>

servlet을 하나 생성한다.(annotation을 사용하지 않기 위해 생성시 Create Java EE 6 annotated class 의 체크박스는 해제한다.)

제대로 mapping이 되는 지 확인하기 위해, PrintWriter를 추가하여 간단한 문장을 적어준다.

xml을 이용할 땐 web.xml에서 해주어야한다.

기본적으로 IntelliJ에서 Create Java EE 6 annotated class 의 체크박스를 해제 한 채로 Servlet생성을 하면, 아래와 같이 <servlet></servlet>정의가 자동적으로 들어가있다.

<servlet-name></servlet-name>은 이 servlet의 별칭이기 때문에 임의로 바꿔주어도 된다.

<servlet-class></servlet-class>는 이 servlet의 저장위치이다.

servlet mapping을 해주려면, <servlet></servlet>아래에 <servlet-mapping></servlet-mapping>을 추가해준다.

<servlet-name></servlet-name>은 위의 <servlet></servlet><servlet-name></servlet-name>과 같은 값이 들어가야한다.

<url-pattern></url-pattern>은 해당 servlet의 경로를 간단히 나타내주는 것이다. 이 값을 브라우저 url 뒤에 추가해주는 것이다.

서버를 실행시키고 servlet mapping 해준 값을 적어주면 제대로 출력됨을 볼 수 있다.

annotation을 이용하여 servlet mapping

annotation을 이용한 servlet mapping은 훨씬 간단하다. 아까 만들어 준, servlet위에 @WebServlet("/간단한경로값") annotation을 추가해준다.

서버를 실행시키면 제대로 출력됨을 볼 수 있다.

*하나의 servlet이라도, 여러개의 servlet mapping을 할 수 있다.(ex 위의 예시에서 /SE, /SE1 두 경로 모두 하나의 servlet의 실행결과이다.)

0개의 댓글