왜 서블릿 인터페이스의 service()
방법은 ServletResponse를의 인스턴스를 반환하지 않는 것이 아니라 컨테이너에서 제공하는 ServletResponse를 객체에서 작동?Servlet.service() 메서드가 ServletResponse의 인스턴스가 아니라 void를 반환하는 이유는 무엇입니까?
public void service(ServletRequest request, ServletResponse response);
하고 싶지 :
public ServletResponse service(ServletRequest request);
나에게 묻는 질문에 답해 주셔서 대단히 영광입니다. (: D)하지만 값을 캐시하고 싶다면 값을 반환하는 대신 특정 길이의 매개 변수를 전달하는 것이 어떻게 도움이 될지 정확히 이해하지 못합니다. 나는 여기 전문가가 아니지만 나는되고 싶다. 나는 생각한다. 나는 도움이 필요하다. 다시 감사합니다. 고맙습니다!! –
@Satadru : 메소드가 * 값을 반환해야하는 경우 * 서블릿 컨테이너가 제어하지 못하고 응답 버퍼링과 같은 작업을 제어하는 서블릿 컨테이너의 작업입니다. 이는 일반적으로 개별 서블릿에 달려 있지 않습니다. 특정 방식으로 동작하도록 서블릿 컨테이너를 구성하면 서블릿에 쓸 적절한 ServletResponse를 제공합니다. (이것은 * 캐싱 *에 관한 것이 아니라 * 버퍼링에 관한 것임을 유의하십시오.) –
@Satadru : "front servlet"이란 무엇을 의미합니까? 그 용기 말이니? 그것은 어떤 종류의 응답을 제공하는지 알 필요가 없습니다. 바이너리 데이터 나 텍스트 데이터를 쓸 수 있으며, 헤더 등을 설정할 수 있습니다. –