SpringMVC의 핵심 구성 요소
DispatcherServlet -> 컨트롤러, 요청 항목
핸더 핑-> 컨트롤러, 요청 배포
컨트롤러 - - -> 컨트롤러, 요청 처리 프로세스
ModelAndView ---> 모델, 비즈니스 처리 결과 및 뷰를 캡슐화하십시오
ViewResolver --->보기, 디스플레이 프로세서보기
처리 프로세스
브라우저는 스팅 요청을 발행하고 프론트 엔드 컨트롤러 Dispatcherservlet에 요청을 처리합니다.
컨트롤러는 해당 컨트롤러 구성 요소를 찾을 수 있습니다.
요청을 처리하기 위해 컨트롤러 구성 요소가 합의한 방법을 실행하고 모델 구성 요소를 호출하여 컨벤션 방법에서 비즈니스 처리를 완료하십시오. 컨벤션 메소드는 비즈니스 처리 결과 데이터 및 이름 정보를 봅니다.
컨트롤러가 ModelAndView를 수신 한 후 ViewResolver 구성 요소를 호출하고 View (JSP)를 찾아 정보를 전달하여 응답 인터페이스 결과를 생성합니다.
댓글 구성은 XML 구성에 비해 많은 장점이 있습니다.
Java의 반사 메커니즘을 최대한 활용하여 클래스 구조 정보를 얻을 수 있으며, 이는 구성 작업을 효과적으로 줄일 수 있습니다. JPA 주석을 사용하여 ORM 매핑을 구성하는 경우 PO의 속성 이름, 유형 및 기타 정보를 지정할 필요가 없습니다. 관계 테이블 필드와 PO 속성 이름 및 유형이 동일하다면이 정보는 Java 반사 메커니즘을 통해 얻을 수 있기 때문에 작업 속성 매핑 정보를 작성할 필요조차 없습니다.
주석과 Java 코드는 동일한 파일에 있으며 XML 구성은 독립적 구성 파일을 사용합니다. 프로그램이 개발 된 후에는 대부분의 구성 정보가 조정되지 않습니다. 구성 정보와 Java 코드가 구성되면 프로그램의 응집력을 향상시키는 데 도움이됩니다. 독립적 인 XML 구성 파일을 사용하면 프로그래머는 종종 함수를 작성할 때 프로그램 파일과 구성 파일을 전환해야합니다. 사고의 불일치는 개발 효율성을 줄입니다.
컨트롤러 구성 요소
컨트롤러 구성 요소는 특정 비즈니스 처리를 수행 할 책임이 있으며 작성 중에 컨트롤러 인터페이스 및 합의 된 방법을 구현해야합니다.
ModelAndView 구성 요소
컨트롤러 컨벤션 구성 요소는 ModelAndView 객체를 반환하여 비즈니스 처리 결과 모델 데이터를 캡슐화하고 정보를 봅니다.
ModelAndView 생성자는 다음과 같습니다.
-ModelandView (StringViewName)
-ModelandView (StringViewName, MapModel)
여기서 ViewName은 JSP 페이지의 이름이고 모델의 데이터는 요청 속성에 저장됩니다.
구성 요소를 핸더링합니다
핸더 핑 구성 요소를 통해 Dispatcherservlet 컨트롤러는 HTTP 요청을 컨트롤러 구성 요소에 매핑 할 수 있습니다.
-SimpleUserHandlerMpapping 목록 서신 관계에 따라 컨트롤러를 통화하기 위해 HTTP 요청 및 컨트롤러 매핑 관계 (MAP)를 유지합니다.
SimpleUserHandlerMpapping
<ean> <property name = "mappings"> <props> <prop key = "/login.form"> logincontroller </prop> <propss> </prop key = "/hello.form"> hellocontroller </prop> </property> </bean> <bean id = "hellocontroller"/>
위의 SimpleUserHandlerMpapping 태그의 HelloController는 아래 Bean 태그의 hellocontroller 인 구성 요소에 해당합니다.
requestMappingHandlerMpapping
ResquestMappingHandlerAdapter
컨트롤러 클래스에서 @ResquestMapping 주석을 사용하고 메소드를 사용하여 해당 클라이언트 HTTP 요청을 지정하십시오.
ViewResolver 구성 요소
모든 컨트롤러 구성 요소는 ModelAndView 인스턴스를 반환하고 뷰 이름을 캡슐화하고 스프링의보기가 이름으로 식별되고 Resolver ViewResolver는 이름을 통해보기를 해결합니다.
InternalResourceViewResolver는 예제를 사용하여 서블릿과 JSP를 랩핑합니다.
<bean id = "jspviewresolver"> <property name = "prefix"value = "/web-inf/jsp/"/> <property name = "접미사"value = ". jsp"/> </bean>
예 : 위의 구성을 통해 view name hello는 /web-inf/hello.jsp에 매핑 할 수 있습니다.
컨트롤러 주석
우리는 일반적으로 @controller 주석을 사용하여 컨트롤러 구성 요소를 선언하여보다 유연하게 만들어지고 이전과 같이 컨트롤러 인터페이스를 구현할 필요가 없습니다.
@ControllerPublic 클래스 HelloController {public String execute () {return "Hello"; }}위의 주석을 사용하기위한 전제 조건이 있으며, 이는 주석 스캔을 가능하게하는 것입니다.
<context : component-scan base-package = "org.test.controller">
기본 패키지는 컨트롤러 구성 요소가있는 위치에 패키지를 씁니다.
Resquestmapping 주석
ResquestMapping 은이 클래스 또는 메소드가 해당하는 요청을 나타냅니다.
@controller @resquestmapping ( "/test1") public class hellocontroller {@resquestmapping ( "/hello.form") public String helloExecute () {return "hello"; }}RequestMapping을 사용해야하는 경우 스프링 XML 구성 파일에서 두 개의 Bean 구성 요소를 정의해야합니다 (예 : 클래스 정의 전) 및 요청 맵핑 ADAPTER (메서드 정의 이전) (예 : 스프링 버전 3.1에서 정의되어야 함) :
<bean/> <bean/>
스프링 3.2 버전을 정의 할 필요가 없습니다
<MVC : 주석 구동/>
요약
위는이 기사에서 봄에 대한 노트를 간략하게 소개 한 것입니다. 모든 사람에게 도움이되기를 바랍니다. 관심있는 친구는이 사이트의 다른 관련 주제를 계속 참조 할 수 있습니다. 단점이 있으면 메시지를 남겨 두십시오. 이 사이트를 지원해 주신 친구들에게 감사드립니다!