如何在同一个servlet请求中使用getOutputStream()和getWriter()?

far*_*ree 2 java jsp netbeans servlets outputstream

如何在同一个servlet请求中使用getOutputStream()和getWriter()?

Mar*_*ten 11

你不能同时使用它们.如果你第一次做了,getOutputStream()你就不能在同一个请求中做getWriter(),反之亦然.然而,您可以将自己包裹起来ServletOuptputStream,PrintWriter以获得您所拥有的同类作家getWriter().

ServletOutputStream out = response.getOutputStream();
// Notice encoding here, very important that it matches that of
// response.setCharacterEncoding();
PrintWriter writer = new PrintWriter(new OutputStreamWriter(out, "utf-8"));
Run Code Online (Sandbox Code Playgroud)

不使用的另一个解决方案getWriter()是使用PrintStream有点类似的,但是你没有类型兼容WriterPrintWriter.

// Encoding again very important to match that of your output.
PrintStream print = new PrintStream(os, true, "utf-8");
Run Code Online (Sandbox Code Playgroud)