[스프링 MVC 1편] 2. 서블릿 (1)

0woogie·2024년 3월 30일
0

스프링 MVC 1편

목록 보기
5/7
post-thumbnail

프로젝트 생성

  • 스프링 부트 스타터 사이트에서 스프링 프로젝트 생성
    - 서블릿 자체는 스프링과 관련 없지만, 내장 톰캣 서버를 포함한 환경설정이 편해서..!
    - http://start.spring.io

주의!
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

profile
정리하고 다듬기 위한 공간

0개의 댓글