Java Web从入门到精通(第2版)
上QQ阅读APP看书,第一时间看更新

6.6 out对象

视频讲解:光盘\TM\lx\6\06 out对象.mp4

out对象用于在Web浏览器内输出信息,并且管理应用服务器上的输出缓冲区。在使用out对象输出数据时,可以对数据缓冲区进行操作,及时清除缓冲区中的残余数据,为其他的输出让出缓冲空间。待数据输出完毕后,要及时关闭输出流。

6.6.1 向客户端输出数据

out对象一个最基本的应用就是向客户端浏览器输出信息。out对象可以输出各种数据类型的数据,在输出非字符串类型的数据时,会自动转换为字符串进行输出。out对象提供了print()和println()两种向页面中输出信息的方法,下面分别进行介绍。

print()方法

print()方法用于向客户端浏览器输出信息。通过该方法向客户端浏览器输出信息与使用JSP表达式输出信息相同。

【例6.22】通过两种方式实现向客户端浏览器输出文字“明日科技”。代码如下:

        <%
        out.print("明日科技");
        %>
        <%="明日科技" %>

println()方法

println()方法也是用于向客户端浏览器输出信息,与print()方法不同的是,该方法在输出内容后,还输出一个换行符。

【例6.23】通过println()方法向页面中输出数字3.14159的代码如下:

        <%
        out.println(3.14159);
        out.println("无语");
        %>

说明

在使用print()方法和println()方法在页面中输出信息时,并不能很好地区分出两者的区别,因为在使用println()方法向页面中输出的换行符显示在页面中时,并不能看到其后面的文字真的换行了,例如上面的两行代码在运行后,将显示如图6.11所示的效果。如果想让其分行显示,需要将要输出的文本使用HTML的<pre>标记括起来。修改后的代码如下:

        <pre>
        <%
        out.println(3.14159);
        out.println("无语");
        %>
        </pre>

这段代码在运行后将显示如图6.12所示的结果。

图6.11 未使用<pre>标记的运行结果

图6.12 使用<pre>标记的运行结果

6.6.2 管理响应缓冲

out对象的另一个比较重要的功能就是对缓冲区进行管理。通过调用out对象的clear()方法可以清除缓冲区的内容。这类似于重置响应流,以便重新开始操作。如果响应已经提交,则会有产生IOException异常的负作用。out对象还提供了另一种清除缓冲区内容的方法,那就是clearBuffer()方法,通过该方法可以清除缓冲区的“当前”内容,而且即使内容已经提交给客户端,也能够访问该方法。除了这两个方法外,out对象还提供了其他用于管理缓冲区的方法。out对象用于管理缓冲区的方法如表6.3所示。

表6.3 管理缓冲区的方法