springMVC 의 생명주기 상세 설명
4688 단어 springMVC
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)의 통합 이 고 상세 한 것 은 더 연구 할 수 있 습 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[Spring MVC] [1] 5. 스프링 MVC - 구조 이해핸들러 조회: 핸들러 매핑을 통해 요청 URL에 매핑된 핸들러(컨트롤러)를 조회 핸들러 어댑터 조회: 핸들러를 실행할 수 있는 핸들러 어댑터를 조회 핸들러 어댑터 실행: 핸들러 어댑터를 실행 핸들러 매핑 org.sp...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.