>  기사  >  Java  >  2020년 봄 신규 Java 면접 질문(3)

2020년 봄 신규 Java 면접 질문(3)

王林
王林앞으로
2020-06-29 17:10:441990검색

이 글은 봄 관련 면접 질문을 공유한 내용입니다. 1. spring mvc 실행 프로세스에 대해 이야기해 봅시다. 2. spring mvc에는 어떤 클라이언트가 있습니까? 3. @RequestMapping의 역할은 무엇입니까?

2020년 봄 신규 Java 면접 질문(3)

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제