[servlet] web.xml에서 서블릿 매핑하기

2024. 8. 8. 19:52자바 웹 개발/서블릿 기초

web.xml에 들어간다. 그 이후 <web-app> 태그 안에 있는 내용을 모두 지운 뒤에 다음과 같이 입력한다. 

	<servlet>
		<servlet-name>aaa</servlet-name>
		<servlet-class>sec01.ex01.FirstServlet</servlet-class>
	</servlet>
	<servlet>
		<servlet-name>bbb</servlet-name>
		<servlet-class>sec01.ex01.SecondServlet</servlet-class>
	</servlet>
    
	<servlet-mapping>
		<servlet-name>aaa</servlet-name>
		<url-pattern>/first</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>bbb</servlet-name>
		<url-pattern>/second</url-pattern>
	</servlet-mapping>

 

servlet-mapping은 브라우저에서 요청하는 논리적인 서블릿 이름이다. 

따라서 만약에 /first 요청이 오면 그에 해당하는 servlet-name이 aaa인 서블릿을 servlet 태그에서 찾는다. 

 

그래서 반드시 <servlet> 태그와 <servlet-mapping> 태그에 있는 servlet-name은 모두 동일해야 한다. servlet-class는 실제로 기능을 수행하는 서블릿이다. 그래서 /second 요청이 오면 servlet-name이 bbb인 SecondServlet이 실행된다. 

 

문제는 서블릿이 점차 많아지면 설정하는 것이 점차 번거로워질 것이다. 그래서 각 서블릿 클래스에 애너테이션을 이용하는 것이 일반적이다.