일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- spring framework
- JDBC TEMPLATE
- Spring Boot
- POJO
- AOP
- @Spring-Test
- java
- @test
- Di
- spring
- java spring
- Dependency Injection
- myBatis
- @JUnit
- spring aop
- 컨테이너
- @AspectJ
- Ubunt
- 프로퍼티
- pointcut
- Spring JDBC
- SpringJDBC
- unix
- 리눅스
- XML
- JdbcTemplate
- 마이바티스
- Linux
- STS
- Framework
Archives
- Today
- Total
개키우는개발자 : )
서블릿 등록 본문
반응형
Spring Boot의 내장형 톰캣 서버를 이용해 Servlet을 등록하고, 이를 통해 서블릿 컨테이너에서 웹 요청을 처리하는 방법을 다루었습니다. 이를 통해 톰캣 서버를 설치하지 않고 간단한 Java 코드로 서블릿을 구현하는 방법을 학습할 수 있었습니다.
주요 내용 요약:
Servlet 컨테이너 설정:
- TomcatServletWebServerFactory를 사용하여 임베디드 톰캣 서버를 시작했습니다. 이 클래스는 톰캣 서버를 생성하고 구성하는 작업을 도와주는 팩토리 클래스로, 톰캣 외에도 다른 서블릿 컨테이너를 쉽게 교체할 수 있도록 추상화된 방식으로 작동합니다.
- 서버가 정상적으로 동작하는지 확인하기 위해 8080 포트로 서버를 실행하고, 톰캣이 정상적으로 뜨는지 테스트했습니다. 404 에러는 기본적인 서버 설정이 완료되었음을 나타냈습니다.
Servlet 추가 및 맵핑:
- ServletContextInitializer 인터페이스를 사용하여 서블릿을 컨테이너에 추가하는 방법을 설명했습니다. 이 인터페이스는 서블릿 컨텍스트를 초기화하고 서블릿을 등록하는데 필요한 작업을 수행하는 역할을 합니다.
- 서블릿을 익명 클래스로 생성하여 HttpServlet을 상속받고, 필요한 메소드(여기서는
service()
메소드)를 오버라이딩하여 요청을 처리할 수 있도록 구현했습니다. - 서블릿을 addServlet() 메소드를 이용해 등록하고, "Hello"라는 이름으로 서블릿을 추가한 후 /hello URL 패턴으로 맵핑을 설정했습니다. 이로써 /hello로 들어오는 요청은 해당 서블릿이 처리하도록 구성되었습니다.
웹 요청과 응답 처리:
- 서블릿의 service() 메소드는 웹 요청을 받아 웹 응답을 생성하는 핵심 메소드입니다. 이 메소드의 두 가지 파라미터는 각각 HttpServletRequest와 HttpServletResponse로, 요청 데이터를 가져오고 응답 데이터를 만드는 데 사용됩니다.
- 응답 처리 과정에서 세 가지 요소를 설명하며, 응답 상태 코드(200 OK), 헤더(Content-Type: text/plain), 그리고 응답 본문(body)을 설정했습니다.
- 응답 본문은 PrintWriter 객체를 이용해 출력하며, 간단히 "Hello Servlet"이라는 메시지를 반환했습니다. 이를 통해 사용자는 브라우저에서 해당 서블릿의 응답을 확인할 수 있었습니다.
테스트 및 확인:
- 서버를 다시 시작하고, 브라우저 또는 터미널을 이용해 http://localhost:8080/hello에 요청을 보내 200 OK 응답과 함께 "Hello Servlet"이라는 응답 메시지를 확인했습니다.
- 응답의 상태 코드와 헤더가 설정한 대로 출력되는 것을 확인함으로써 서블릿이 정상적으로 동작하고 있다는 것을 알 수 있었습니다.
결론:
Spring Boot의 내장 톰캣 서버를 통해 서블릿을 쉽게 등록하고 웹 요청을 처리하는 방법을 배웠습니다. Java 코드만으로 서블릿을 실행할 수 있었고, 서블릿의 기본적인 동작 원리와 응답 생성 과정(상태 코드, 헤더, 바디 설정)을 이해할 수 있었습니다. 서블릿 컨테이너의 복잡한 설정 없이 내장 톰캣을 활용함으로써 빠르고 간단하게 웹 애플리케이션을 개발하는 데 필요한 기본적인 구조를 익혔습니다.
반응형
'토비의 스프링 부트 - 이해와 원리 > 섹션4 - 독립 실행형 서블릿 애플리케이션' 카테고리의 다른 글
프론트 컨트롤러로 전환 (0) | 2024.10.06 |
---|---|
프론트 컨트롤러 (0) | 2024.10.06 |
서블릿 요청 처리 (0) | 2024.10.06 |
서블릿 컨테이너 띄우기 (0) | 2024.10.06 |
Containerless 개발 준비 (0) | 2024.10.06 |
Comments