爲什麼在的Servlet接口service()
方法不返回的ServletResponse的一個實例,但由容器提供的的ServletResponse對象上,而工作?爲什麼Servlet.service()方法返回void而不是ServletResponse的實例?
在簡單的話爲什麼是的Servlet接口等的服務方法:
public void service(ServletRequest request, ServletResponse response);
和不喜歡:
public ServletResponse service(ServletRequest request);
我非常榮幸能回答我問的問題(:D),但我不明白如何傳遞一定長度的參數將有助於實現,而不是在我想要緩存值時返回值。我不是這裏的專家,但我確實想成爲,我想,我需要一些幫助。再次感謝你。謝謝!! – 2011-05-13 18:37:24
@Satadru:如果方法必須*返回一個值,那麼servlet容器不會控制它 - 而且這是servlet容器的工作來控制響應緩衝等事情。這通常不取決於單個servlet。您將servlet容器配置爲以特定方式運行,並提供相應的ServletResponse來寫入。 (請注意,這不是*緩存*,而是*緩存*。) – 2011-05-13 18:40:15
@Satadru:你說的「前端servlet」是什麼意思?你的意思是容器?它不必知道你提供的是什麼樣的響應 - 它可以讓你編寫二進制數據或文本數據,讓你設置標題等。 – 2011-05-13 18:53:30