프로젝트 생성
주의!
Packaging는 Jar가 아니라 War를 선택. JSP를 실행하기 위해서 필요함.
스프링 부트 3.2부터 Gradle 옵션을 선택하자
- 스프링 부트 3.2부터는 Build and run using에 IntelliJ IDEA를 선택하면 오류 발생
- File -> Settings -> ... -> Gradle
- Build and run using: Gradle 선택
- Run tests using: Gradle 선택
Lombok 적용
- Preferences -> Annotation Processors 검색 -> Enable annotation processing 체크
- 임의의 테스트 클래스 만들고 @Getter, @Setter 확인
Hello 서블릿
@ServletComponentScan
스프링 부트는 서블릿을 직접 등록해서 사용할 수 있도록 @ServletComponentScan을 지원
HelloServlet 생성
- @WebServlet 어노테이션
- name: 서블릿 이름
- urlPatterns: URL 매핑
- HTTP 요청을 통해 매핑된 URL이 호출되면 서블릿 컨테이너는 service 메서드를 실행
- request.getParameter("username"): 쿼리파라미터에서 username에 해당하는 값 가져옴
- response.getWriter().write("hello " + username): HTTP 메시지 바디에 데이터 보내기
- 웹 브라우저 실행
- http://localhost:8080/hello?username=maeng
- 결과: hello maeng
- 실행 결과 (콘솔)
- 실행 결과 (개발자 도구)
서블릿 컨테이너 동작 방식 설명
참고
HTTP 응답에서 Content-Length는 WAS 서버가 자동으로 생성해준다.
Reference
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1/dashboard