JspWriter与PrintWriter(转)

1都继承自java.io.writer类

JspWriter在Jsp页面上直接用out对象输出,也可以直接用pageContex.getOut()得到out对象

PrintWriter必须通过response.getwriter()得到

2.在Jsp页面上用两种方法同时输出数据,PrintWriter中的数据会先输出

例如:

新建test.jsp页面

<%
out.println("out");
JspWriter out1 = pageContext.getOut();
if(out == out1 )
{
 out.println("out==out1");
}
else
{
 out.println("out!=out1");
}

PrintWriter pw = response.getWriter();
pw.write("pw writer");
 %>

运行结果为

pw writer out out==out1 This is my JSP page.

原因:

out对象相当于插入到了PrintWriter前面的缓冲区中.out对象满足一定条件时

,才会调用PrintWriter对象的print()方法,把out缓冲区中的内容输出到浏览器端

如果想让上面的代码的按代码的先后顺序输出可以写成:

out.flush();

刷新缓存区即可

则输出结果变为

out out==out1 pw writer This is my JSP page

另外:PrintWriter的print方法中不会抛出IOException,而JspWriter会。
JspWriter是抽象类而PrintWriter不是,也就是说你可以通过new操作来直接新建一个PrintWriter的对象而JspWriter不行,它必须是通过其子类来新建。
但是它们之间又是有关系的,这个关系主要是JspWriter对PrintWriter有依赖。初始化一个JspWriter对象的时候要关联ServletResponse对象的一个PrintWriter类型对象,最终JspWriter对象的输出任务还是通过这个PrintWriter类型对象做的

时间: 2024-08-27 16:51:51

JspWriter与PrintWriter(转)的相关文章

JspWriter 与 printwriter区别

JSP九个隐含对象 JspWriter out JspWriter是抽象类而PrintWriter不是,也就是说你可以通过new操作来直接新建一个PrintWriter的对象而JspWriter不行,它必须是通过其子类来新建.  但是它们之间又是有关系的,这个关系主要是JspWriter对PrintWriter有依赖.初始化一个JspWriter对象的时候要关联ServletResponse对象的一个PrintWriter类型对象,最终JspWriter对象的输出任务还是通过这个PrintWri

response.getWriter()和jsp中的out对象的区别

两者的主要区别: 1. 这两个对象的类型是完全不同的:内置对象out的类型是JspWriter:response.getWrite()返回的类型是PrintWriter 2. 获取方式不同:JspWriter是JSP的内置对象,直接使用即可,对象名out是保留字,也只能通过out来调用其相关方法.此外还可以通过内置对象pageContext.getOut();获得:PrintWriter则是在用的时候需要通过内置对象response.getWriter();获得 3. JspWriter的pri

10JSP自定义标签

1标签(Tag): 标签是一种XML元素,通过标签可以使JSP网页变得简洁并且易于维护,还可以方便地实现同一个JSP文件支持多种语言版本.由于标签是XML元素,所以它的名称和属性都是大小写敏感. 标签库(Tag library): 由一系列功能相似.逻辑上互相联系的标签构成的集合称为标签库. 标签库描述文件(Tag Library Descriptor): 标签库描述文件是一个XML文件,这个文件提供了标签库中类和JSP中对标签引用的映射关系.它是一个配置文件,和web.xml是类似的. 标签处

jsp 以及javabean内省技术

l JSP l JavaBean及内省 l EL表达式 1.1 上次课内容回顾 会话技术: Cookie:客户端技术.将数据保存在客户端浏览器上.Cookie是有大小和个数的限制. Session:服务器端技术.将数据保存在服务器端.Session没有大小和个数限制.Session基于Cookie回写了一个JSESSIONID. Cookie的分类: * 会话级别的Cookie:浏览器关闭了,Cookie就销毁了! * 持久化的Cookie: * cookie.setMaxAge(时间); --

JSP系列:(3)JSP进阶-九大内置对象和四个域对象

1.JSP九大内置对象 1.1.什么是内置对象? 在jsp开发中,会频繁使用到一些对象,例如HttpSession, ServletContext, ServletContext,  HttpServletRequet.如果我们每次要使用这些对象都去创建这些对象就显示非常麻烦.所以Sun公司设计Jsp时,在jsp页面加载完毕之后就会自动帮开发者创建好这些对象,而开发者只需要直接使用这些对象调用方法即可,这些创建好的对象就叫内置对象!!!! 1.2.9大内置对象 9大内置对象 序号 内置对象名 类

JSP(一)

一.JSP概要 一]JSP的概念 1>JSP是SUN公司开发的一个基于服务端的一种动态WEB开发技术.         2>JSP的代码结构/内容 = HTML内容+JSP特有元素内容         3>在IDE工具中开发JSP,pageEncoding有两层含义:             1>指明当前JSP中的字符采用什么方式编码             2>指明当前JSP页面保存时采用什么方式编码         4>如果再次访问同一个data.jsp文件,翻译工

我的学习之路_第三十五章_EL&amp;JSTL

回顾:JSP:JavaServerPage=servlet 三种脚本: <% %> <%= %> <%! %> 三种注释: <%-- --%> <% // /**/ %> <!-- --> 三个编译指令: <%@ page %> contentType pageEncoding import errorPage isErrorPage <%@ include %> file <%@ taglib %>

整理的一些java面试题

Java类型:8种基本类型,3种引用类型;基本类型 : Byte short int long float double char boolean字节长度 : 1 2 4 8 4 8 2 1引用类型 : 类,接口,数组 简述你所知道的JAVA修饰符及各自的使用机制: Abstract:修饰类,会使这个类称为抽象类,这个类将不能生成对象实例,但可以作为对象变量声明的类型,需要子类继承并覆盖其中的抽象方法. 修饰方法,会使这个方法变成抽象方法,也就是只有声明(定义)而没有实现,需要子类继承实现(覆盖

JSP 内置对象(上)

JSP 内置对象是 Web 容器创建的一组对象,不使用 new 关键字就可以直接使用的对象.如上一章中使用脚本实现打印九九乘法表中的out对象 <%-- 脚本:out对象是JSPWriter类的实例,用于向客户端输出内容 --%> <% for (int i = 1; i <= 9; i++) { for (int j = 1; j <=i; j++) { out.print(i + "*" + j + "=" + (i*j) + &q