이 글은 봄 관련 면접 질문을 공유한 내용입니다. 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에 반환합니다.
6. 반환된 ModelAndView를 기반으로 적절한 ViewResolver(Spring 컨테이너에 등록된 ViewResolver여야 함)를 선택하고 DispatcherServlet에 반환합니다. ViewResolver는 Model과 View를 결합하여 뷰를 렌더링합니다.
8. 렌더링 결과를 클라이언트에 반환합니다.
2. Spring MVC의 구성요소는 무엇인가요?Spring MVC의 핵심 구성 요소:
1. DispatcherServlet: 중앙 컨트롤러, 특정 제어 클래스로 요청 전달2. 컨트롤러: 요청을 구체적으로 처리하는 컨트롤러
3. 매핑 프로세서, 매핑 전략 담당 중앙 프로세서가 이를 컨트롤러에 전달할 때
4. ModelAndView: 서비스 계층에서 반환된 데이터 및 뷰 계층의 캡슐화 클래스
5. ViewResolver: 특정 뷰를 구문 분석하는 뷰
6. 차단 서버는 우리가 정의한 요청을 차단하고 처리하는 역할을 담당합니다
3. @RequestMapping의 역할은 무엇인가요?RequestMapping은 요청 주소 매핑을 처리하는 데 사용되는 주석으로, 클래스나 메서드에서 사용할 수 있습니다. 클래스에서 사용된다는 것은 요청에 응답하는 클래스의 모든 메서드가 이 주소를 상위 경로로 사용한다는 의미입니다.
RequestMapping 주석에는 6가지 속성이 있습니다. 아래에서는 설명을 위해 이를 세 가지 범주로 나눕니다. value, method:
value: 요청의 실제 주소를 지정합니다. 지정된 주소는 URI 템플릿 모드일 수 있습니다(나중에 설명됩니다).
- method: 요청의 메서드 유형을 지정합니다. GET , POST, PUT , DELETE 등
- consumes, presents
- consumes: 처리 요청의 제출 콘텐츠 유형(예: application/json, text/html)을 지정합니다.
produces: 반환된 콘텐츠 유형을 지정합니다. 요청 헤더의 (Accept) 유형에 지정된 유형이 포함된 경우에만 반환됩니다.
params, headers
params: 지정된 요청에는 특정 매개변수가 포함되어야 합니다. 이 메서드가 처리하기 전에 값을 지정합니다.
headers: 이 메소드가 요청을 처리하려면 지정된 요청에 특정 지정된 헤더 값이 포함되어야 합니다.
위 내용은 2020년 봄 신규 Java 면접 질문(3)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.
