理解servlet中的out.println

时间:2014-11-05 21:48:43

标签: java servlets console println

如何在Servlet中,out.println将html文本写入容器的响应对象,通常在System.out.println()中,它将文本写入控制台?

这在概念上对我造成了问题。

3 个答案:

答案 0 :(得分:3)

根据控制台指定PrintStreamPrintWriter

PrintStream为另一个输出流添加功能,即能够方便地打印各种数据值的表示。 PrintStream

将对象的格式化表示形式打印到文本输出流。 PrintWriter

它们都是关于格式化数据并将格式化数据传递给输出流。任何输出流。默认情况下,在某些环境中,PrintStreamSystem.out最初引用的System.err个对象将其数据发送到某种控制台,但这只是那些特定的实例。

即使是那些也可以改变。例如,在某些类型的测试中,将System.out替换为将PrintStream发送到ByteArrayOutputStream的{​​{1}}非常有用。

答案 1 :(得分:2)

它使用Javadoc中的ServletOutputStream

  

提供用于将二进制数据发送到客户端的输出流。通常通过ServletResponse.getOutputStream()方法检索ServletOutputStream对象。

如果您查看System.out,就可以看到它是PrintStream,这是OutputStream的不同实现。

答案 2 :(得分:0)

如果servlet中的某个位置调用out.println(...)写入响应对象,则out必须是对响应对象的OutputStream或包装器流的引用而且它。如果System.out在其他地方发送输出(通常会这样做),那么它就是对不同OutputStream的引用。

名为out的servlet方法(或任何其他方法)局部变量与System.out完全无关,除非您将其初始化为对另一个的引用。