读书人

求解答关于 getWriter输出的有关问题

发布时间: 2013-11-08 17:52:35 作者: rapoo

求解答关于 getWriter输出的问题
Servlet1:
  response.getWriter().write(“aaa”);
  request.setAttribute(“attr”,”bbb”);
  request.getRequestDispatcher(“/jsp1.jsp”).forward(request,response);
jsp1.jsp:
  ccc
  <%
  response.getWriter().write((String)request.getAttribute(“attr”));
  %>
为什么输出的是bbbccc而不是cccbbb? servlet jsp
[解决办法]
你把这个jsp当成servlet看。。
当这个jsp转化成servlet的时候,就变成了。
out.println("ccc");
response.getWriter().write((String)request.getAttribute(“attr”));
的形式,
如果
bbb在ccc前面的话,那么我估计就是out是 response.getWriter()的一个部分,out会在servlet执行到最后的时候一起写入response.getWriter()中。。
[解决办法]

引用:
额,还有为什么JSP中不能使用response.getOutputStream().write()?????


response.getOutputStream()返回的是ServletOutputStream对象,这个对象没有write方法。你可以用print方法。
而response.getWriter()返回的是PrintWriter对象,这个对象是有write方法的。

读书人网 >Java Web开发

热点推荐