[java] 서블릿의 URL 매핑과 패턴

서블릿은 웹 애플리케이션에서 HTTP 요청을 처리하는 자바 클래스입니다. 서블릿을 사용하여 특정 URL에 대한 요청을 처리하려면 URL 매핑을 설정해야 합니다. URL 매핑은 서블릿 컨테이너가 들어오는 요청을 해당 서블릿으로 보낼 수 있도록 지정하는 것입니다.

URL 매핑 실습

서블릿 클래스에서 URL 매핑을 설정하려면 @WebServlet 어노테이션을 사용하거나 web.xml 파일에 설정을 추가해야 합니다. 아래는 @WebServlet 어노테이션을 사용하여 URL 매핑을 설정하는 예시입니다.

@WebServlet("/hello")
public class HelloServlet extends HttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.getWriter().println("Hello, World!");
    }
}

위의 예제에서 /hello는 HelloServlet에 대한 URL 매핑입니다. 브라우저에서 “/hello” 경로로 요청이 오면 HelloServlet의 doGet 메서드가 실행되어 “Hello, World!”를 출력합니다.

URL 패턴 실습

URL 매핑을 할 때 와일드카드 문자를 사용하여 패턴을 설정할 수도 있습니다. 패턴을 사용하면 특정 패턴에 해당하는 모든 URL에 대해 동일한 서블릿을 매핑할 수 있습니다. 아래는 URL 패턴 예시입니다.

@WebServlet("/users/*")
public class UsersServlet extends HttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String username = request.getPathInfo().substring(1);
        response.getWriter().println("Hello, " + username);
    }
}

위의 예제에서 /users/* 패턴은 “/users/” 다음에 오는 모든 경로에 대해 UsersServlet에 매핑됩니다. 예를 들어, “/users/john” 경로로 요청이 오면 UsersServlet의 doGet 메서드가 실행되어 “Hello, john”를 출력합니다.

결론

서블릿의 URL 매핑을 통해 특정 URL 경로에 대한 요청을 처리할 수 있습니다. URL 매핑을 정확히 설정하고 패턴을 활용하여 유연하게 URL을 처리할 수 있습니다. URL 매핑은 웹 애플리케이션의 구조와 요청 처리를 조정하는 데 중요한 역할을 합니다.

참고 자료: