Java Java인터뷰 질문들 자바 고주파 기본 면접 질문——(4)

자바 고주파 기본 면접 질문——(4)

Sep 02, 2020 pm 04:08 PM
java 면접 질문

자바 고주파 기본 면접 질문——(4)

1. 서블릿의 라이프사이클에 대해 이야기해 보세요.

(더 많은 관련 인터뷰 질문 추천: java 인터뷰 질문 및 답변)

서블릿은 로딩, 인스턴스화, 초기화를 포함한 라이프사이클에 대한 좋은 정의를 가지고 있습니다. 요청을 처리하고 서비스를 종료합니다. 이 수명은 javax.servlet.Servlet 인터페이스의 init(), service() 및 destroy 메소드로 표현됩니다.

서블릿이 서버에 의해 인스턴스화되면 컨테이너는 init 메소드를 실행하고, 요청이 도착하면 서비스 메소드를 자동으로 요청에 해당하는 doXXX 메소드(doGet, doPost)를 디스패치하고 실행합니다. 등이며, 서버가 인스턴스를 파괴하기로 결정하면 호출됩니다.

웹 컨테이너가 서블릿을 로드하고 수명 주기가 시작됩니다. 서블릿의 init() 메소드를 호출하여 서블릿을 초기화합니다. 이는 service() 메서드를 호출하여 달성되며, 다양한 요청에 따라 다양한 do***() 메서드가 호출됩니다. 서비스를 종료하기 위해 웹 컨테이너는 서블릿의 destroy() 메소드를 호출합니다.

2. 서블릿 API에서 전달()과 리디렉션()의 차이점은 무엇입니까?

1. 주소 표시줄 표시에서

forward는 서버가 대상 주소의 URL에 직접 액세스하여 해당 URL의 응답 내용을 읽은 다음 해당 내용을 브라우저로 보냅니다. 서버는 이 작업을 전혀 수행하지 않습니다. 서버에서 보낸 콘텐츠가 어디에서 왔는지 알기 때문에 주소 표시줄은 여전히 ​​원래 주소입니다.

리디렉션은 브라우저에 해당 주소를 다시 요청하도록 논리에 따라 상태 코드를 보내는 것을 의미합니다. 따라서 주소 표시줄에 새 URL이 표시됩니다. 따라서 리디렉션은 클라이언트가 서버에 두 개의 요청을 보내고 두 개의 요청도 수락한다는 의미입니다. . 응답.

2. 데이터 공유의 관점에서

forward: 전달된 페이지와 전달된 페이지는 요청의 데이터를 공유할 수 있습니다.

redirect: 데이터를 공유할 수 없습니다

redirect는 현재 애플리케이션의 다른 리소스로 리디렉션할 수 없습니다. , 동일한 사이트의 다른 애플리케이션의 리소스로 리디렉션하거나 절대 URL을 사용하여 다른 사이트의 리소스로 리디렉션할 수도 있습니다.

전달 방법은 동일한 웹 애플리케이션 내의 리소스 간에만 요청을 전달할 수 있습니다. 전달은 내부 작업

입니다.

리디렉션은 서버가 클라이언트에게 이를 알리고 클라이언트가 요청을 다시 시작하도록 허용하는 경우입니다

따라서 리디렉션은 간접 요청이라고 말할 수 있지만 "요청이 전달인지 리디렉션인지"라고 말할 수는 없습니다

3. 응용 분야에서는

forward: 일반적으로 사용자가 로그인할 때 사용하며, 역할에 따라 해당 모듈로 전달합니다.

redirect: 일반적으로 사용자가 로그아웃하고 다른 웹사이트로 이동할 때 메인 페이지로 돌아가는 데 사용됩니다.

4. 효율성 측면에서

redirect: 낮음.

3. request.getAttribute()의 차이점은 무엇입니까? request.getParameter() post 및 get과 같은 메소드를 통해 전달된 데이터를 가져오는 것은 컨테이너 구현을 통해서입니다.

request.setAttribute() 및 getAttribute()는 웹 컨테이너 내에서만 흐르며 요청 처리 단계에만 있습니다.

2. getAttribute는 객체를 반환하고, getParameter는 문자열을 반환합니다.

3. getAttribute()는 항상 setAttribute()로 설정한 후에만 getAttribute()를 통해 얻을 수 있습니다. 전달되는 것은 객체 유형 데이터입니다. 그리고 동일한 요청 개체에서 사용해야 유효합니다. , getParameter()는 양식의 get 또는 post로 제출된 매개변수를 수신하는 것입니다

(동영상 튜토리얼 추천:

java 과정

)

4 jsp 정적 포함과 동적 포함의 차이점

1. %@include file ="xxx.jsp"%>는 jsp에서 서블릿으로 변환하는 동안 해당 파일이 포함되는 명령이며 jsp 명령의 작업이며, 해당 파일은 컴파일 중에 발생합니다. 즉, Java 파일이 클래스 파일로 컴파일되는 기간입니다

2. 정적 포함을 사용하면 클래스 파일이 하나만 생성됩니다. 여러 클래스 파일 생성


3. 정적 포함을 사용하는 경우 포함된 페이지와 포함된 페이지의 요청 개체는 동일한 개체입니다. 왜냐하면 정적 포함은 포함된 페이지의 콘텐츠만 포함하는 반면 동적 포함은 포함된 페이지에 복사하기 때문입니다. 동일한 개체가 아닌 페이지와 포함된 페이지의 경우 포함된 페이지의 요청 개체에서 얻을 수 있는 매개변수의 범위가 상대적으로 큽니다. 5. MVC 각 부분을 구현하는데 어떤 기술이 사용되나요?


MVC는 Model-View-Controller의 약자입니다. 모델은 애플리케이션의 비즈니스 로직(JavaBeans 및 EJB 구성 요소를 통해 구현됨)을 나타내고, 보기는 애플리케이션의 표현 표면(JSP 페이지에서 생성됨)을 나타내며, 컨트롤러는 이 디자인 모델을 통해 애플리케이션(일반적으로 서블릿)의 프로세스 제어를 제공합니다. 애플리케이션 논리, 처리 및 표시 논리를 다양한 구성 요소 구현으로 나눕니다. 이러한 구성 요소는 상호 작용하고 재사용할 수 있습니다.

6. JSP의 내장 개체는 무엇입니까?

JSP에는 다음과 같은 9개의 내장 개체가 있습니다.

1. 이 요청에는 GET/POST 요청의 매개변수가 포함됩니다.

2. 응답 웹페이지는 클라이언트의 응답을 반환합니다

3. pageContext 웹페이지의 속성은 여기에서 관리됩니다

4. session 요청과 관련된 세션 기간

5.

6.out을 사용하여 응답 출력 전송

8.page JSP 웹 페이지 자체

9. 오류 웹 페이지에서 발견되지 않은 예외

7. HTTP에서 get과 post 메소드의 차이점

1, Get은 서버에 데이터를 요청하는 것이고 Post는 데이터를 서버에 제출하라는 요청입니다

2. Get은 정보를 얻는 것이지 정보를 수정하는 것이 아닌 데이터베이스 쿼리 기능과 유사합니다. not be수정

3. Get 요청의 매개변수는 URL 뒤에 전달되며, 요청된 데이터는 URL에 추가되어 URL을 분할하고 ?로 데이터를 전송합니다. %XX에 있는 기호는 시스템에서 표현하는 ASCII입니다. 데이터가 영문/숫자일 경우에는 그대로 전송합니다. 공백일 경우에는 직접 +로 변환합니다. BASE64로 문자열을 암호화합니다.

4. Get에서 전송하는 데이터에는 크기 제한이 있습니다. GET에서 제출할 수 있는 데이터의 양은 URL 길이에 따라 다릅니다. URL의 길이입니다.

5. GET에서 요청한 데이터는 브라우저에 의해 캐시되며 사용자 이름과 비밀번호는 URL에 일반 텍스트로 표시됩니다. 다른 사람이 검색 기록을 확인할 수 있으며 데이터는 안전하지 않습니다.

서버 측에서는 Request.QueryString을 사용하여 Get 메서드로 제출된 데이터를 가져옵니다.

게시물 요청은 http 메시지의 실제 내용으로 웹 서버로 전송됩니다. 데이터는 HTML 헤더에 배치되며 제출되는 데이터는 제한되지 않습니다. Post는 Get보다 안전합니다. 데이터가 중국어이거나 민감하지 않은 데이터인 경우 get을 사용하세요. get을 사용하면 매개변수가 주소에 표시되기 때문입니다. 한자가 아닌 데이터의 경우 post를 사용하세요.

6. POST는 서버의 리소스를 수정할 수 있는 요청을 나타냅니다. 서버 측에서 Post 메서드로 제출된 데이터는 Request.Form을 통해서만 얻을 수 있습니다.

8. 쿠키란 무엇인가요? 세션과 쿠키의 차이점은 무엇입니까?

쿠키는 사용자 정보를 브라우저에 저장하는 객체인 세션 기술입니다.

(관련 권장사항:

Java 시작하기

)

차이:

1. 쿠키 데이터는 고객의 브라우저인 세션에 저장됩니다. 데이터를 서버에 올려두세요

2. 쿠키는 그다지 안전하지 않습니다. 다른 사람이 로컬에 저장된 쿠키를 분석하여 속일 수 있습니다. 보안이 가장 중요하다면 세션을 사용해야 합니다.

3. 일정 기간 동안. 액세스가 증가하면 서버 성능을 더 많이 차지하게 됩니다. 서버 성능을 낮추는 것이 주된 고려사항이라면 COOKIE

4를 사용해야 합니다. 클라이언트의 단일 쿠키 제한은 3K입니다. 클라이언트에 3K COOKIE를 저장합니다.

결론:

로그인 정보 등 중요한 정보를 SESSION으로 저장하세요. 다른 정보를 유지해야 하는 경우 COOKIE에 저장할 수 있습니다.

9. JSP와 서블릿의 차이점, 공통점, 적용 범위는 무엇인가요?

JSP는 본질적으로 Servlet의 간단한 방식인 Servlet 기술의 확장입니다. JSP가 컴파일된 후에는 "서블릿과 유사"합니다.

서블릿과 JSP의 주요 차이점은 서블릿의 애플리케이션 로직이 Java 파일에 있고 프리젠테이션 계층에서 HTML과 완전히 분리되어 있다는 것입니다. JSP의 경우 Java와 HTML을 .jsp 확장자를 가진 파일로 결합할 수 있습니다.

JSP는 뷰에 중점을 두고 있으며 서블릿은 주로 제어 로직에 사용됩니다. Struts 프레임워크에서 JSP는 MVC 디자인 패턴의 뷰 레이어에 있고, Servlet은 컨트롤 레이어에 있습니다.

10. Tomcat 컨테이너는 어떻게 서블릿 클래스 인스턴스를 생성합니까? 어떤 원리가 사용됩니까?

컨테이너가 시작되면 webapps 디렉터리에 있는 모든 웹 애플리케이션의 web.xml 파일을 읽은 다음 xml 파일을 구문 분석하고 서블릿 등록 정보를 읽습니다. 그런 다음 각 애플리케이션에 등록된 서블릿 클래스를 로드하고 리플렉션을 통해 인스턴스화합니다. (첫 번째 요청에서도 인스턴스화되는 경우가 있습니다.)

서블릿 등록 시 1을 추가하세요. 양수이면 처음에 인스턴스화됩니다. . 작성되지 않았거나 음수인 경우 처음으로 인스턴스화가 요청됩니다.

위 내용은 자바 고주파 기본 면접 질문——(4)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

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

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

자바의 완전수 자바의 완전수 Aug 30, 2024 pm 04:28 PM

Java의 완전수 가이드. 여기서는 정의, Java에서 완전 숫자를 확인하는 방법, 코드 구현 예제에 대해 논의합니다.

Java의 난수 생성기 Java의 난수 생성기 Aug 30, 2024 pm 04:27 PM

Java의 난수 생성기 안내. 여기서는 예제를 통해 Java의 함수와 예제를 통해 두 가지 다른 생성기에 대해 설명합니다.

자바의 웨카 자바의 웨카 Aug 30, 2024 pm 04:28 PM

Java의 Weka 가이드. 여기에서는 소개, weka java 사용 방법, 플랫폼 유형 및 장점을 예제와 함께 설명합니다.

Java의 스미스 번호 Java의 스미스 번호 Aug 30, 2024 pm 04:28 PM

Java의 Smith Number 가이드. 여기서는 정의, Java에서 스미스 번호를 확인하는 방법에 대해 논의합니다. 코드 구현의 예.

Java Spring 인터뷰 질문 Java Spring 인터뷰 질문 Aug 30, 2024 pm 04:29 PM

이 기사에서는 가장 많이 묻는 Java Spring 면접 질문과 자세한 답변을 보관했습니다. 그래야 면접에 합격할 수 있습니다.

Java 8 Stream foreach에서 나누거나 돌아 오시겠습니까? Java 8 Stream foreach에서 나누거나 돌아 오시겠습니까? Feb 07, 2025 pm 12:09 PM

Java 8은 스트림 API를 소개하여 데이터 컬렉션을 처리하는 강력하고 표현적인 방법을 제공합니다. 그러나 스트림을 사용할 때 일반적인 질문은 다음과 같은 것입니다. 기존 루프는 조기 중단 또는 반환을 허용하지만 스트림의 Foreach 메소드는이 방법을 직접 지원하지 않습니다. 이 기사는 이유를 설명하고 스트림 처리 시스템에서 조기 종료를 구현하기위한 대체 방법을 탐색합니다. 추가 읽기 : Java Stream API 개선 스트림 foreach를 이해하십시오 Foreach 메소드는 스트림의 각 요소에서 하나의 작업을 수행하는 터미널 작동입니다. 디자인 의도입니다

Java의 날짜까지의 타임스탬프 Java의 날짜까지의 타임스탬프 Aug 30, 2024 pm 04:28 PM

Java의 TimeStamp to Date 안내. 여기서는 소개와 예제와 함께 Java에서 타임스탬프를 날짜로 변환하는 방법에 대해서도 설명합니다.

캡슐의 양을 찾기위한 Java 프로그램 캡슐의 양을 찾기위한 Java 프로그램 Feb 07, 2025 am 11:37 AM

캡슐은 3 차원 기하학적 그림이며, 양쪽 끝에 실린더와 반구로 구성됩니다. 캡슐의 부피는 실린더의 부피와 양쪽 끝에 반구의 부피를 첨가하여 계산할 수 있습니다. 이 튜토리얼은 다른 방법을 사용하여 Java에서 주어진 캡슐의 부피를 계산하는 방법에 대해 논의합니다. 캡슐 볼륨 공식 캡슐 볼륨에 대한 공식은 다음과 같습니다. 캡슐 부피 = 원통형 볼륨 2 반구 볼륨 안에, R : 반구의 반경. H : 실린더의 높이 (반구 제외). 예 1 입력하다 반경 = 5 단위 높이 = 10 단위 산출 볼륨 = 1570.8 입방 단위 설명하다 공식을 사용하여 볼륨 계산 : 부피 = π × r2 × h (4

See all articles