springMVC 의 생명주기 상세 설명

4688 단어 springMVC
springMVC 의 라 이 프 사이클 은 들 었 을 때 반응 하지 않 았 습 니 다.springMVC 는 라 이 프 사이클 이 있 습 니까?지금 보면 생명 주 기 는 바로 springMVC 의 절차 이다.SpringMVC 는 MVC 사상의 실현 이다.다음은 MVC 사상의 절차 도 를 살 펴 보 자.

MVC 의 핵심 사상 은 위의 그림 과 같다.그러면 springMVC 는 어떻게 MVC 의 사상 을 실현 합 니까?

첫 번 째 단계:전단 컨트롤 러 에 요청(Dispatcher Servlet)
두 번 째 단계:전단 컨트롤 러 요청 HandlerMapping(프로세서 매 핑 기)Handler 찾기
xml 설정,주석 에 따라 찾 을 수 있 습 니 다.
세 번 째 단계:프로세서 매 핑 기 Handler Mapping 전단 컨트롤 러 로 Handler 되 돌리 기
네 번 째 단계:전단 컨트롤 러 가 프로세서 어댑터 를 호출 하여 Handler 를 실행 합 니 다.
다섯 번 째 단계:프로세서 어댑터 가 Handler 를 실행 합 니 다.
STEP 6:핸들 러 실행 완료
STEP 7:프로세서 어댑터 가 전단 컨트롤 러 로 Model AndView 로 되 돌아 갑 니 다.
Model AndView 는 springmvc 프레임 워 크 의 기본 대상 으로 Model 과 view 를 포함한다.
8 단계:전단 컨트롤 러 가 보기 해석 기 를 요청 하여 보기 분석 을 진행 합 니 다.
논리 보기 이름 에 따라 실제 보기 로 해석(jsp)
9 단계:보기 해상도 기 가 전단 컨트롤 러 로 View 를 되 돌려 줍 니 다.
10 단계:전단 컨트롤 러 보기 렌 더 링
보기 렌 더 링 은 모델 데이터(Model AndView 대상 에서)를 request 필드 에 채 웁 니 다.
제1 1 단계:전단 컨트롤 러 가 사용자 에 게 응답 한 결과
코드 예제
(1)WEB-INF/web.xml 에 다음 코드 를 추가 합 니 다.

 <servlet> 
    <servlet-name>dispatcherServlet</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    <init-param> 
      <param-name>contextConfigLocation</param-name> 
      <param-value> 
       classpath*:spring-servlet.xml 
      </param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
  </servlet> 
 
  <servlet-mapping> 
    <servlet-name>dispatcherServlet</servlet-name> 
    <url-pattern>*.html</url-pattern> 
</servlet-mapping>
위 설정 은 전단 컨트롤 러 Dispatcher Servlet 입 니 다.servlet-mapping 에*.html 를 설정 한 것 은.html 로 끝 나 는 모든 요청 이 이 servlet 을 통 해 이 루어 진 다 는 것 을 의미 합 니 다.dispatcher Servlet 이 시 작 될 때 기본적으로 웹-info 디 렉 터 리 에서 spring-servlet.xml 설정 파일 을 찾 습 니 다.이 파일 의 위 치 를 표시 합 니 다.즉,클래스 경로 아래 에 있 는 spring-servlet.xml 입 니 다.만약 설정 파일 의 이름 이 지정 되 지 않 았 다 면 Spring 은 웹 에 적 용 된 WEB-INF 폴 더 에서[servlet-name]-servlet.xml 라 는 설정 파일 을 찾 습 니 다.예 를 들 어 dispatcher-servlet.xml 와 같은 설정 파일 입 니 다.
(2)클래스 경로 아래 spring-servlet.xml 파일 추가

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" > 
  <context:component-scan base-package="com.pango.spring.helloworld.controller" /> 
  <bean id="viewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver"> 
    <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /> 
    <property name="prefix" value="/WEB-INF/jsp/" /> 
    <property name="suffix" value=".jsp" /> 
  </bean> 
</beans> 
이 파일 은 context 탭 을 정의 합 니 다.이 탭 은 spring 이 시 작 될 때 com.pango.spring.helloworld.contrller 라 는 가방 아래 와 하위 가방 에 있 는 모든 구성 요 소 를 불 러 옵 니 다.(이것 은 가방 의 자동 검색 메커니즘 입 니 다.즉,spring 은@Controller@Component 등 을 spring 용기 관리 에 불 러 옵 니 다.)
뒤에 bean 탭 이 설정 되 어 있 습 니 다.ViewResolver 는 해석 기 입 니 다.바로 springMVC 수명 주기 중의 다섯 번 째 단계 입 니 다.백 엔 드 컨트롤 러 에서 돌아 오 는 보 기 를 볼 때 전단 컨트롤 러 는 이 설정 에 따라 구체 적 인 보 기 를 되 돌려 줍 니 다.예 를 들 어 백 엔 드 컨트롤 러 는 hello 입 니 다.위의 설정 에 따라마지막 전단 컨트롤 러 는 이러한 주 소 를 구성 합 니 다./web-inf/jsp/hello.jsp 를 찾 은 다음/web-inf/jsp/이 디 렉 터 리 에서 hello.jsp 를 찾 아 클 라 이언 트 로 돌아 갑 니 다.
(3)가방 밑 에 Hello World Controller 의 종 류 를 쓴다.

@Controller 
public class HelloWorldController{ 
@RequestMapping(value="/hello") 
  public String sayHello(ModelMap modelMap){ 
    modelMap.put("sayHello", "hello world"); 
    return "/hello";  
  } 
}
Controller 는 이 클래스 가 컨트롤 러 라 는 것 을 설명 합 니 다.위의 두 번 째 부분 은@Controller 가 표시 하면 spring 은 자동 검색 체 제 를 통 해 이 종 류 를 spring 용기 관리 에 포함 시 킵 니 다.@RequestMapping(value="/hello")은 요청 경 로 를 정의 합 니 다./hello 경로 에 맞 는 것 은 이 컨트롤 러 의 sayhello 방법 에 맡 깁 니 다.마지막 으로 클 라 이언 트 에 게/hello 의 보 기 를 되 돌려 줍 니 다.
작은 매듭
자바 에서 springMVC 의 생명 주 기 를 초보 적 으로 알 아 보 았 습 니 다.이것 은 MVC 사상의 실현 입 니 다.예전 에 MVC 는 디자인 모델 이 라 고 들 어 본 적 이 있 지만 전형 적 인 23 개 디자인 모델 에서 MVC 모델 이 없습니다.사실은 관찰자 모델(Observer)(Pub/Sub),전략 모델(Strategy)과 조합 모델(Composite)의 통합 이 고 상세 한 것 은 더 연구 할 수 있 습 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기