Servlet 3.0 사양부터는 애노테이션으로 서블릿 배치 정보를 설정할 수 있다. 아래는 web.xml 대신 애노테이션을 이용해 배치 정보를 작성한 코드이다.
서블릿의 URL 정보는 @WebServlet의 괄호 '()' 안에 기술한다.
@WebServlet("/calc")
public class CalculatorServlet extends GenericServlet{
web.xml에서 CalculatorServlet에 대한 서블릿 정의와 URL 매핑을 설정하는 부분을 다음과 같이 주석으로 만든다.
<!-- 서블릿 선언-->
<servlet>
<servlet-name>Hello</servlet-name>
<servlet-class>servlets.HelloWorld</servlet-class>
</servlet>
<!--<servlet>-->
<!--<servlet-name>Calculator</servlet-name>-->
<!--<servlet-class>servlets.CalculatorServlet</servlet-class>-->
<!--</servlet>-->
<!-- 서블릿을 URL과 연결 -->
<servlet-mapping>
<servlet-name>Hello</servlet-name>
<url-pattern>/Hello</url-pattern>
</servlet-mapping>
<!--<servlet-mapping>-->
<!--<servlet-name>Calculator</servlet-name>-->
<!--<url-pattern>/calc</url-pattern>-->
<!--</servlet-mapping>-->
서블릿의 이름을 설정하는 속성이다. 기본값은 빈 문자열("")이다.
@WebServlet(name="서블릿이름")
서블릿의 URL 목록을 설정한느 속성이다. 속성값으로 String 배열이 온다. 기본값은 빈 배열({})이다.
@WebServlet(urlPatterns="/calc") // 일반적인 문자열로 표기 가능
@WebServlet(urlPatterns={"/calc"}) // 중괄호를 사용하여 배열 표기
//서블릿에 대해 여러 개의 URL을 설정하는 강의
@WebServlet(urlPatterns={"/calc", "calc.do", "calculator.action"})
urlPatterns와 같은 용도이다.
@WebServlet(value="/calc")
@WebServlet("/calc") // 속성명 'value' 생략 가능