2014-07-17 2 views
0

Servlet에 대한 요청이있을 때 책에 쓰여지므로 요청 및 응답 개체가 컨테이너에 의해 생성되고 서비스 메서드에 인수로 넣어집니다.컨테이너에서 생성 한 요청 및 응답 객체의 유형은 무엇입니까?

HttpServletRequest 
HttpServletResponse 
ServletRequest 
ServletResponse 

Interface이므로 인스턴스화 할 수 없습니다.

그래서

  1. 개체의 유형 무엇인가?
  2. 요청 및 응답 방법에는 어떤 정보가 포함되어 있습니까?
  3. 컨테이너는 가져 오기 또는 게시 요청을 어떻게 알 수 있습니까?

답변

0
  1. 사용자가 나열한 인터페이스를 준수하여 컨테이너가 인스턴스화하기를 원하는 유형입니다.
  2. 인터페이스가 제공하는 정보와 구현이 제공하는 모든 것. 인터페이스가 아닌 기능에 액세스하려면 물론 캐스팅해야합니다.
  3. ... 요청을보고 있습니다. HTTP 스펙을 읽으십시오.
+0

U가 3 번째 점을 설명하거나 내가 공부할 수있는 링크를 제공 할 수 있습니까? – Prasenjit

+0

컨테이너가 유형을 선택하는 방법은 무엇입니까? 인스턴스화 할 유형을 의미합니다. – Prasenjit

+0

@ user3773682 컨테이너는 원하는 모든 기준에 따라 인스턴스화 할 유형을 선택할 수 있습니다. HTTP 요청은 당연히'HttpServlet' 관련 인터페이스를 구현하는 것을 인스턴스화해야한다. 세 번째 요점은 HTTP 요청에는 요청 유형, 즉 HTTP 요청 및 HTTP 동사 (GET, POST, DELETE 등)의 종류가 포함됩니다. –

0

Java EE Tutorial - Chapter 15 Java Servlet Technology을 검토하고 JSP가 Servlet으로 컴파일되었음을 기억해야합니다. 웹 기반 요청의 경우,

  1. 컨테이너의 인터페이스 구현.
  2. ServletRequestServletRepsonse Javadocs를 참조하십시오.
  3. Servlet.service(request, response)을 호출하면 컨테이너가 요청을 구문 분석하고 doGet() 또는 doPost() (또는 Servlet의 다른 방법 중 하나)을 호출하는 기본 동작을 갖습니다.
0
  1. 당신은 패키지 부터는 javax.servlet.http에서 ServletResponseWrapper, HttpServletResponseWrapper, ServletRequestWrapper & HttpServletRequestWrapper으로 볼 필요가 있습니다. 또한 웹 컨테이너 구현은 해당 래퍼 클래스를 하위 클래스 화하거나 해당 인터페이스를 구현할 수 있습니다.
  2. 위 API 문서에서 ServletRequestServletResponse 인터페이스를 확인하십시오.
  3. @Elliott Frisch의 대답에서 설명한대로 service() 방법을 살펴보십시오.