1. getOutputStream和getWriter方法互斥,只能调用一个,转发的两个servlet都不能同时用这两个流,重定向可以。同时调用程序会报:java.lang.IllegalStateException:getOutputStream() is already beencalled for this response异常。如果开发过程中既有电影数据又有字符串数据,就全用字节流写。
2. servlet向servletOutputStream或PrintWriter中写入的数据会写到response里,由servlet引擎从response里取出数据,servelt引擎将这个数据当作http响应的消息的正文,然后再与响应状态行,响应头组合后输出到客户端。
3. servlet的service方法结束后,servlet引擎将检查getWriter和getOutputStream方法返回的输出流对象是否已经调用过close方法。如果没有servlet引擎将调用close方法关闭该输出流对象。