PrintWriter与out对象的区别 (response.getWriter().write()与out.print())

    1. 这两个对象的类型是完全不同的:内置对象out的类型是JspWriter;response.getWrite()返回的类型是PrintWriter 。
    2. 获取方式不同:JspWriter是JSP的内置对象,直接使用即可,对象名out是保留字,也只能通过out来调用其相关方法。此外还可以通过内置对象pageContext.getOut();获得;PrintWriter则是在用的时候需要通过内置对象response.getWriter();获得。
    3. JspWriter的print()方法会抛出IOException;而PrintWriter则不会 。
    4. JspWriter和PrintWriter都继承自Java.io.Writer,但JspWriter是抽象类,而PrintWriter不是。

然而最最主要的区别是:如果在同一jsp或Servlet文件中同时使用了JspWriter对象和PrintWriter对象,在调用print或者println方法后的执行情况不同。

    5.执行原理不同:JspWriter相当于一个带缓存功能的printWriter,它不是直接将数据输出到页面,而是将数据刷新到response的缓冲区后再输出,response.getWriter直接输出数据(response.print()),所以(out.print)只能在其后输出。

    6.out为jsp的内置对象,刷新jsp页面,自动初始化获得out对象,所以使用out对象是需要刷新页面的,而response.getWriter()响应信息通过out对象输出到网页上,当响应结束时它自动被关闭,与jsp页面无关,无需刷新页面;

形象的比喻:当我们调用response.getWriter()这个对象同时获得了网页的画笔,这时你就可以通过这个画笔在网页上画任何你想要显示的东西。

    7.out.println(""); 方法并不能也页面布局换行,只能领html代码换行,要实现页面布局换行可以:out.println("</br>");





详细看   ↓

转自:https://blog.csdn.net/j080624/article/details/56009165

            https://www.cnblogs.com/shellway/p/3995917.html

猜你喜欢

转载自blog.csdn.net/u013119231/article/details/80775820