computer_study

[Spring] 09. 스프링 MVC 시작하기 본문

스터디/스프링5 프로그래밍 입문

[Spring] 09. 스프링 MVC 시작하기

knowable 2022. 4. 27. 01:25

목차

1. 프로젝트 생성

2. 이클립스 톰캣 설정

3. 스프링 MVC를 위한 설정

4. 코드 구현

1. 프로젝트 생성

디렉토리 구조

  • src/main/java
  • src/main/webapp     -> HTML, CSS, JS, JSP등 웹 어플리케이션을 구현하는데 필요한 코드가 위치
  • src/main/webapp/WEB-INF     -> web.xml파일 위치
  • src/main/webapp/WEB-INF/view

 

2. 이클립스 톰캣 설정

웹 서버 종류

  • Apache
  • Nginx
  • IIS WEB Server

아파치 v.s. 아파치 톰캣

  • 같은 아파치 재단
  • 톰캣은 아파치서버와는 다르게 DB연결, 다른 응용프로그램과 상호 작용 등 동적인 기능들을 사용할 수 있다.
  • 참고자료
 

Apache? Tomcat?? 둘이 무슨 차이지?

학교에서 php를 하고, 회사에서 spring boot + jsp를 사용하면서아파치 톰캣을 자연스럽게 사용하게 되었다.하지만, 사용하는 동안 이게 도대체 무엇이길래 웹을 할 때 많은 곳에서 사용하는지?이게

velog.io

 

3. 스프링 MVC를 위한 설정

스프링 MVC 주요 설정

  • @EnableWebMVC 애노테이션으로 스프링 MVC 활성화
    • 내부적으로 다양한 빈 설정을 추가해준다
  • WebMvcConfigurer 인터페이스
    • 스프링 MVC의 갭려 설정을 조정할 때 사용
    • configureDefaultServletHandling() -> 디폴트 서블릿 조정
    • configureViewResolvers() -> ViewResolver 조정
    • ...

DispatcherServlet 설정

DispatchServlet을 통해 웹 요청을 받아야 한다.

* servelt : 클라이언트의 요청을 받고 요청을 처리하여 결과를 클라이언트에게 제공하는 자바 인터페이스.

 

4. 코드 구현

  • 클라이언트의 요청을 처리해주는 컨트롤러
  • 처리 결과를 보여주는 JSP
  • 컨트롤러에서 return한 이름과 같은 뷰 이름을 가진 JSP파일이 매핑된다
    • MvcConfig 클래스에 configureViewResolvers 가 존재한다.
  • 컨트롤러에서 Model에 속성을 추가하면, 그 속성 이름으로 뷰에서 접근이 가능하다
    • MVC 프레임워크가 모델에서 추가한 속성을 JSP 코드에서 접근할 수 있도록 HttpServletRequest에 옮겨준다.

 

 

 

 

Comments