>  기사  >  Java  >  2020 새로운 Java 면접 질문 - Java 웹 (1)

2020 새로운 Java 면접 질문 - Java 웹 (1)

王林
王林앞으로
2020-06-15 17:12:582446검색

2020 새로운 Java 면접 질문 - Java 웹 (1)

1. JSP와 서블릿의 차이점은 무엇인가요?

jsp는 컴파일 후 Servlet이 됩니다. (JSP의 본질은 Servlet입니다. JVM은 JSP 코드가 아닌 Java 클래스만 인식할 수 있습니다. 웹 컨테이너는 JSP 코드를 JVM이 인식할 수 있는 Java 클래스로 컴파일합니다.)

JSP는 페이지가 더 좋습니다. 디스플레이 및 서블릿은 논리 제어에 더 좋습니다.

서블릿에는 내장 객체가 없습니다. Jsp의 내장 객체는 HttpServletRequest 객체, HttpServletResponse 객체 및 HttpServlet 객체를 통해 얻어야 합니다.

Jsp는 Servlet을 단순화한 것입니다. Jsp를 사용하면 프로그래머가 클라이언트에 출력해야 하는 내용만 완성하면 됩니다. Jsp에 Java 스크립트를 클래스에 삽입하는 방법은 Jsp 컨테이너에 의해 완료됩니다. 서블릿은 완전한 Java 클래스이며 이 클래스의 Service 메소드는 클라이언트에 대한 응답을 생성하는 데 사용됩니다.

(추천 관련 튜토리얼: java 입문 프로그램)

2. jsp의 내장 객체는 무엇인가요? 기능은 무엇입니까?

JSP에는 9개의 내장 개체가 있습니다.

  • request: GET 또는 POST 요청의 매개변수를 포함하는 클라이언트 요청을 캡슐화합니다.

  • response: 클라이언트에 대한 서버의 응답을 캡슐화합니다. pageContext: 이 개체를 통해 다른 개체를 얻을 수 있습니다.

  • session: 사용자 세션을 캡슐화하는 개체

  • application: 서버 실행 환경을 캡슐화하는 개체

  • out: 출력 스트림 개체

  • config: 웹 애플리케이션의 구성 개체

  • page: JSP 페이지 자체(Java 프로그램의 경우와 동일)

  • 예외: 캡슐화하는 개체 페이지에서 발생한 예외입니다.

  • (관련 영상 튜토리얼 추천:

    java 영상 튜토리얼
  • )

3. JSP의 4가지 범위에 대해 알려주세요.

JSP의 네 가지 범위에는 페이지, 요청, 세션 및 애플리케이션이 포함됩니다. 구체적으로:

페이지는 페이지와 관련된 개체 및 속성을 나타냅니다.

  • request는 웹 클라이언트에서 발행한 요청과 관련된 개체 및 속성을 나타냅니다. 요청은 여러 페이지에 걸쳐 있을 수 있으며 페이지에 표시되어야 하는 임시 데이터가 이 범위에 포함될 수 있습니다.

  • session은 사용자가 서버에 설정한 세션과 관련된 개체 및 속성을 나타냅니다. 사용자와 관련된 데이터는 사용자 자신의 세션에 배치되어야 합니다.

  • 애플리케이션은 전체 웹 애플리케이션과 관련된 개체 및 속성을 나타냅니다. 이는 기본적으로 여러 페이지, 요청 및 세션을 포함하여 전체 웹 애플리케이션에 걸쳐 있는 전역 범위입니다.

  • 4. 세션과 쿠키의 차이점은 무엇인가요?

HTTP 프로토콜은 상태 비저장 프로토콜이므로 서버가 사용자의 상태를 기록해야 할 때 특정 사용자를 식별하는 메커니즘을 사용해야 합니다. 이 메커니즘은 전형적인 시나리오입니다. 주문 버튼을 클릭할 때 HTTP 프로토콜은 어떤 사용자가 이를 운영하고 있는지 알 수 없으므로 서버는 특정 사용자에 대한 특정 Session을 생성하여 사용자를 식별해야 합니다. 장바구니에 여러 권의 책이 있다는 것을 알 수 있습니다. 이 세션은 서버 측에 저장되며 고유 식별자를 갖습니다. 메모리, 데이터베이스, 파일 등을 포함하여 서버 측에 세션을 저장하는 방법에는 여러 가지가 있습니다. 클러스터링 시에는 세션 전송도 고려해야 합니다. 일반적으로 사용자 세션을 저장하기 위한 전용 세션 서버 클러스터가 있습니다. 이때 세션 정보는 메모리에 저장되며 Memcached와 같은 일부 캐싱 서비스가 사용됩니다. 세션.

  • 서버가 특정 고객을 어떻게 식별하는지 생각해 보세요. 이때 쿠키가 나타납니다. HTTP 요청이 이루어질 때마다 클라이언트는 해당 쿠키 정보를 서버에 보냅니다. 실제로 대부분의 애플리케이션은 세션 추적을 구현하기 위해 쿠키를 사용합니다. 세션이 처음 생성되면 서버는 세션 ID가 쿠키에 기록되어야 함을 HTTP 프로토콜로 클라이언트에 알려줍니다. 후속 요청을 통해 세션 ID가 서버로 전송되며 귀하가 누구인지 알 수 있습니다. 누군가가 클라이언트의 브라우저가 쿠키를 비활성화하면 어떻게 해야 합니까?라고 물었습니다. 일반적으로 이 경우 세션 추적을 위해 URL 재작성이라는 기술이 사용됩니다. 즉, 각 HTTP 상호 작용에 대해 sid=xxxxx와 같은 매개 변수가 URL에 추가되고 이에 따라 서버가 사용자를 식별합니다.

  • 쿠키는 실제로 일부 사용자 친화적인 시나리오에서 사용될 수 있습니다. 웹사이트에 한 번 로그인한 후 다음에 로그인할 때 다시 계정에 로그인하고 싶지 않다고 가정해 보세요. 이 정보는 쿠키에 기록될 수 있습니다. 웹사이트를 방문할 때 웹사이트 페이지의 스크립트가 이 정보를 읽고 자동으로 사용자 이름을 채워 사용자를 용이하게 할 수 있습니다. 이는 사용자에게 약간의 달콤함을 주는 쿠키 이름의 유래이기도 합니다. 요약하자면, 세션은 사용자의 상태를 추적하기 위해 서버에 저장되는 데이터 구조입니다. 이 데이터는 클러스터, 데이터베이스 및 파일에 저장될 수 있습니다. 쿠키는 클라이언트가 사용자 정보를 저장하는 메커니즘이며 일부를 기록하는 데 사용됩니다. 사용자 정보는 Session을 구현하는 방법이기도 합니다.

5. 세션이 어떻게 진행되는지 알려주세요.

사실 세션은 서버에 존재하는 해시 테이블과 유사한 파일입니다. 우리에게 필요한 정보가 여기에 저장되어 있으며, 필요할 때 꺼내서 사용할 수 있습니다. 내부의 키는 사용자의 세션 ID를 저장하며, 사용자는 서버에 요청을 보낼 때 이 세션 ID를 가져옵니다. 이때 해당 값을 추출할 수 있습니다.

추천 튜토리얼: java 인터뷰 질문

위 내용은 2020 새로운 Java 면접 질문 - Java 웹 (1)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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