如何在Servlet中,out.println
将html文本写入容器的响应对象,通常在System.out.println()
中,它将文本写入控制台?
这在概念上对我造成了问题。
答案 0 :(得分:3)
根据控制台指定PrintStream
和PrintWriter
。
PrintStream为另一个输出流添加功能,即能够方便地打印各种数据值的表示。 PrintStream
将对象的格式化表示形式打印到文本输出流。 PrintWriter
它们都是关于格式化数据并将格式化数据传递给输出流。任何输出流。默认情况下,在某些环境中,PrintStream
和System.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
完全无关,除非您将其初始化为对另一个的引用。