Spring MVC - hyunwoo-e/Spring GitHub Wiki

Spring MVC

Spring MVC 흐름

  1. 클라이언트의 HTTP 요청
  2. DispatcherServlet에 의해 요청이 가로채짐
  3. Handler Mapping을 통해 컨트롤러를 찾음
  4. DispatcherServlet은 해당 컨트롤러에 처리를 위임
  5. 컨트롤러는 처리 결과를 DispatcherServlet으로 반환
  6. DispatcherServlet은 클라이언트에 View를 응답

DispatcherServlet

클라이언트의 요청을 받아 요청을 처리할 컨트롤러에 처리를 위임, 컨트롤러의 처리 결과를 클라이언트에 제공한다. DispatcherServlet 설정방법은 아래와 같다.

Spring에서 제공하는 Servlet 사용

  • web.xml

스프링에서는 설정파일을 xml로 작성한다.

  • ContextLoaderListener 등록

스프링에서 설정파일을 읽기 위해서 ContextLoaderListener가 필요하다.

  • ContextConfigLocation 등록

ContextLoaderListener가 읽을 설정파일의 위치를 ContextConfigLocation에 지정한다.

<listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<servlet>
        <servlet-name>[servlet-name]</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/applicationContext.xml</param-value>
        </init-param>
</servlet>
  • dispatcher-servlet.xml
    • 사용자 요청을 처리할 Controller
    • 사용자에게 보여줄 화면을 찾는 ViewResolver
<mvc:annotation-driven></mvc:annotation-driven>
<context:component-scan base-package="[package-name]"/>
<bean id="jspViewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
        <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> <!--JSTL 사용-->
        <property name="prefix" value="/WEB-INF/view/"/>
        <property name="suffix" value=".jsp"/>
</bean>

Custom Servlet 개발

Custom Servlet

⚠️ **GitHub.com Fallback** ⚠️