본문 바로가기
Java/이론 및 용어

servlet spec 3.0 미만에서 xml의 display-name 의미

by tokkiC 2022. 7. 4.

서블릿 스펙 3.0 미만에서는 어노테이션을 지원하지 않기때문에 xml 에서 각 서블릿마다 맵핑을 시켜줘야 한다

서블릿 맵핑 태그에서 url-pattern 과 servlet-name 이 서로 매칭되어 맵핑 되고

- 사실상 서블릿 네임이란 변수에 url 패턴을 저장하는 것과 같다

서블릿 태그에서는 서블릿 네임이란 변수로 url을 가져와 사용하게 한다

따라서 서블릿 맵핑 태그와 서블릿 태그의 서블릿 네임은 같은 변수이므로 같아야 한다

- 같은 변수로 쓰이니까! url 이 여러개일때 각각을 서블릿 네임 변수에 담아 사용하게 된다

servlet-class 는 변수 servlet-name 이 가리키는 실제로 실행될 서블릿 클래스 파일이다

- 즉, 변수에 서블릿 네임에 할당한 값이 서블릿클래스라고 할 수 있다

servlet-name = servlet-class;

map<string servlet-name, string url> url-mapping;

url-mapping[servlet-name]="url";

c++ 이라면 위와 같이 맵핑하여 해당 서블릿 네임에 맞는(해당 서블릿 클래스에 매핑되는) url 을 갖도록 한 것이다

그렇다면 display-name 은 뭐에 쓰는 놈일까?

의외로 찾아보니 별거 아니었다. 그냥 해당 서블릿 클래스를 GUI 상에서 나타낼 별칭이었다 

GUI 상에서 서블릿 클래스를 간결하게 보기위해  servlet-name 처럼 서블릿 클래스를 변수로 담아 쓰는 것이었다

그러니 display-name 은 servlet-name 과 다른 이름을 가질 순 있겠지만

같은 서블릿 클래스가 할당된 변수라고 할 수 있겠다

xml 도 사용해야 할 때가 있다던데 흐음 그때 또 공부하지 뭐

댓글