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

如何在同一个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");
上一篇:java – Netbeans中无法识别外部JAR中的复合组件


下一篇:java – OpenCV到JNI如何让它工作?