이 글은 봄 관련 면접 질문을 공유한 내용입니다. 1. spring mvc 실행 프로세스에 대해 이야기해 봅시다. 2. spring mvc에는 어떤 클라이언트가 있습니까? 3. @RequestMapping의 역할은 무엇입니까?
1. Spring MVC 작업 프로세스에 대해 이야기해 보겠습니다.
(관련 권장 사항: java 인터뷰 질문 )
Spring 작업 프로세스 설명:
1. 요청은 Spring 프런트엔드 Servelt DispatcherServlet 캡처에 의해 제어됩니다.
2. DispatcherServlet은 요청 URL을 구문 분석하고 요청 리소스 식별자(URI)를 얻습니다. 그런 다음 URI에 따라 HandlerMapping을 호출하여 Handler가 구성한 모든 관련 개체(Handler 개체 및 Handler 개체에 해당하는 인터셉터 포함)를 가져오고 마지막으로 이를 HandlerExecutionChain 개체 형식으로 반환합니다.
3. 획득한 Handler HandlerAdapter를 기반으로 적합한 것(참고: HandlerAdapter를 성공적으로 획득하면 이때 인터셉터의 preHandler(...) 메서드가 실행되기 시작합니다.)
4. 요청하고 Handler 입력 매개변수를 입력한 후 Handler(Controller) 실행을 시작합니다. 핸들러의 입력 매개변수를 채우는 과정에서 Spring은 구성에 따라 몇 가지 추가 작업을 수행하는 데 도움이 됩니다.
HttpMessageConveter: 요청 메시지(예: Json, xml 및 기타 데이터)를 객체로 변환하고 지정된 응답 정보로 개체
데이터 변환: 요청 메시지에 대한 데이터 변환을 수행합니다. 예를 들어 문자열은 Integer, Double 등으로 변환됩니다.
데이터 급격화: 요청 메시지의 데이터 형식을 지정합니다. 문자열을 형식화된 숫자 또는 형식화된 날짜 등으로 변환합니다.
데이터 확인: 데이터(길이, 형식 등)의 유효성을 확인하고 확인 결과를 BindingResult 또는 Error에 저장합니다. 5, 핸들러 실행이 완료되면 ModelAndView 객체를 DispatcherServlet에 반환합니다.
8. 렌더링 결과를 클라이언트에 반환합니다.
2. Spring MVC의 구성요소는 무엇인가요?Spring MVC의 핵심 구성 요소:
1. DispatcherServlet: 중앙 컨트롤러, 특정 제어 클래스로 요청 전달2. 컨트롤러: 요청을 구체적으로 처리하는 컨트롤러
3. 매핑 프로세서, 매핑 전략 담당 중앙 프로세서가 이를 컨트롤러에 전달할 때
4. ModelAndView: 서비스 계층에서 반환된 데이터 및 뷰 계층의 캡슐화 클래스
5. ViewResolver: 특정 뷰를 구문 분석하는 뷰
6. 차단 서버는 우리가 정의한 요청을 차단하고 처리하는 역할을 담당합니다
3. @RequestMapping의 역할은 무엇인가요?RequestMapping은 요청 주소 매핑을 처리하는 데 사용되는 주석으로, 클래스나 메서드에서 사용할 수 있습니다. 클래스에서 사용된다는 것은 요청에 응답하는 클래스의 모든 메서드가 이 주소를 상위 경로로 사용한다는 의미입니다.
RequestMapping 주석에는 6가지 속성이 있습니다. 아래에서는 설명을 위해 이를 세 가지 범주로 나눕니다. value, method:
value: 요청의 실제 주소를 지정합니다. 지정된 주소는 URI 템플릿 모드일 수 있습니다(나중에 설명됩니다).
produces: 반환된 콘텐츠 유형을 지정합니다. 요청 헤더의 (Accept) 유형에 지정된 유형이 포함된 경우에만 반환됩니다.
params, headers
params: 지정된 요청에는 특정 매개변수가 포함되어야 합니다. 이 메서드가 처리하기 전에 값을 지정합니다.
headers: 이 메소드가 요청을 처리하려면 지정된 요청에 특정 지정된 헤더 값이 포함되어야 합니다.
위 내용은 2020년 봄 신규 Java 면접 질문(3)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!