반응형
Notice
Recent Posts
Recent Comments
관리 메뉴

개키우는개발자 : )

서블릿 등록 본문

반응형

Spring Boot의 내장형 톰캣 서버를 이용해 Servlet을 등록하고, 이를 통해 서블릿 컨테이너에서 웹 요청을 처리하는 방법을 다루었습니다. 이를 통해 톰캣 서버를 설치하지 않고 간단한 Java 코드로 서블릿을 구현하는 방법을 학습할 수 있었습니다.

주요 내용 요약:

  1. Servlet 컨테이너 설정:

    • TomcatServletWebServerFactory를 사용하여 임베디드 톰캣 서버를 시작했습니다. 이 클래스는 톰캣 서버를 생성하고 구성하는 작업을 도와주는 팩토리 클래스로, 톰캣 외에도 다른 서블릿 컨테이너를 쉽게 교체할 수 있도록 추상화된 방식으로 작동합니다.
    • 서버가 정상적으로 동작하는지 확인하기 위해 8080 포트로 서버를 실행하고, 톰캣이 정상적으로 뜨는지 테스트했습니다. 404 에러는 기본적인 서버 설정이 완료되었음을 나타냈습니다.
  2. Servlet 추가 및 맵핑:

    • ServletContextInitializer 인터페이스를 사용하여 서블릿을 컨테이너에 추가하는 방법을 설명했습니다. 이 인터페이스는 서블릿 컨텍스트를 초기화하고 서블릿을 등록하는데 필요한 작업을 수행하는 역할을 합니다.
    • 서블릿을 익명 클래스로 생성하여 HttpServlet을 상속받고, 필요한 메소드(여기서는 service() 메소드)를 오버라이딩하여 요청을 처리할 수 있도록 구현했습니다.
    • 서블릿을 addServlet() 메소드를 이용해 등록하고, "Hello"라는 이름으로 서블릿을 추가한 후 /hello URL 패턴으로 맵핑을 설정했습니다. 이로써 /hello로 들어오는 요청은 해당 서블릿이 처리하도록 구성되었습니다.
  3. 웹 요청과 응답 처리:

    • 서블릿의 service() 메소드는 웹 요청을 받아 웹 응답을 생성하는 핵심 메소드입니다. 이 메소드의 두 가지 파라미터는 각각 HttpServletRequestHttpServletResponse로, 요청 데이터를 가져오고 응답 데이터를 만드는 데 사용됩니다.
    • 응답 처리 과정에서 세 가지 요소를 설명하며, 응답 상태 코드(200 OK), 헤더(Content-Type: text/plain), 그리고 응답 본문(body)을 설정했습니다.
    • 응답 본문은 PrintWriter 객체를 이용해 출력하며, 간단히 "Hello Servlet"이라는 메시지를 반환했습니다. 이를 통해 사용자는 브라우저에서 해당 서블릿의 응답을 확인할 수 있었습니다.
  4. 테스트 및 확인:

    • 서버를 다시 시작하고, 브라우저 또는 터미널을 이용해 http://localhost:8080/hello에 요청을 보내 200 OK 응답과 함께 "Hello Servlet"이라는 응답 메시지를 확인했습니다.
    • 응답의 상태 코드와 헤더가 설정한 대로 출력되는 것을 확인함으로써 서블릿이 정상적으로 동작하고 있다는 것을 알 수 있었습니다.

결론:

Spring Boot의 내장 톰캣 서버를 통해 서블릿을 쉽게 등록하고 웹 요청을 처리하는 방법을 배웠습니다. Java 코드만으로 서블릿을 실행할 수 있었고, 서블릿의 기본적인 동작 원리와 응답 생성 과정(상태 코드, 헤더, 바디 설정)을 이해할 수 있었습니다. 서블릿 컨테이너의 복잡한 설정 없이 내장 톰캣을 활용함으로써 빠르고 간단하게 웹 애플리케이션을 개발하는 데 필요한 기본적인 구조를 익혔습니다.

반응형
Comments