如何在同一个servlet请求中使用getOutputStream()和getWriter()?
解决方法:
你不能同时使用它们.如果你第一次执行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"));
不使用getWriter()的另一个解决方案是使用类似的PrintStream,但是你没有与Writer或PrintWriter的类型兼容性.
// Encoding again very important to match that of your output.
PrintStream print = new PrintStream(os, true, "utf-8");