【发布时间】:2013-08-21 15:29:50
【问题描述】:
我很难理解线条构造的语义
PrintWriter out = response.getWriter()
首先,我注意到 HTTPServletResponse 是一个接口,但没有 getWriter 方法。
那么response.getWriter() 怎么可能呢?或者更好的是,接口变量如何调用方法?
除此之外,PrintWriter 是否实现了 HTTPServletResponse?
我查看了 Java 实现,但似乎不是;那么如何分配response.getWriter()?
谢谢
【问题讨论】:
-
HTTPServletResponse 从 ServletResponse 继承 getWriter() 方法(通过扩展此接口)。理解这段代码的关键是容器将 HTTPServletResponse 的实例(即实现该接口的某个类)传递给 servlet。
-
我尝试使用自己的方法重新创建此功能,但在参数部分不断收到 NullPointer 异常。什么样的实例被传递到 HTTPServletResponse?该类与接口和 PrintWriter 类有何关系?
标签: java jsp http tomcat servlets