试试这样: 用PrintWriter out = res.getWriter(); 不要用PrintWriter out = new PrintWriter (res.getOutputStream());
PrintWriter out = res.getWriter();编译错误"UploadFile.java": Error #: 364 : cannot cast javax.servlet.ServletOutputStream to java.io.PrintWriter at line 27, column 31
还有一个挺奇怪的现象,我一直都是声明 public void doPost (HttpServletRequest req, HttpServletResponse res)但第一次编译就出错了,当第二次我回头去看了一下,再编译就没问题了,是不是很搞笑啊
PrintWriter out = res.getWriter(); 这个语句是从HttpServletResponse中取得PringWriter句柄,与HttpServletResponse关系紧密PrintWriter out = new PrintWriter (res.getOutputStream()); 而这个语句是新建的PringWriter句柄,与HttpServletResponse关系就不那么紧密,中间多了一个流传递的过程,这个过程不能保证编码的正确性!!!大概是这样了,说的不对的地方请高手指正!!!
PrintWriter out = res.getWriter();这是没错的!!!!! 不会是写成了:PrintWriter out = res.getOutputStream();吧?
我的一分耕耘,你能给一分收获
我是在中文windows下编译源文件,再放到saloris下的当然,在中文环境下很正常,但怎么让他在saloris下也很正常呢?
用PrintWriter out = res.getWriter();
不要用PrintWriter out = new PrintWriter (res.getOutputStream());
import javax.servlet.*;
import javax.servlet.http.*;另外那个res应该是用HttpServletResponse声明的!
public void doPost (HttpServletRequest req, HttpServletResponse res)但第一次编译就出错了,当第二次我回头去看了一下,再编译就没问题了,是不是很搞笑啊
这个语句是从HttpServletResponse中取得PringWriter句柄,与HttpServletResponse关系紧密PrintWriter out = new PrintWriter (res.getOutputStream());
而这个语句是新建的PringWriter句柄,与HttpServletResponse关系就不那么紧密,中间多了一个流传递的过程,这个过程不能保证编码的正确性!!!大概是这样了,说的不对的地方请高手指正!!!
不会是写成了:PrintWriter out = res.getOutputStream();吧?