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类型对象做的
分享到:
相关推荐
6. **JspWriter与PrintWriter**:在JSP中,`out`内置对象实际上是`JspWriter`的一个实例,它提供了向响应输出流写入数据的能力。`PrintWriter`是`JspWriter`的一个子类,也可以用于输出,但在JSP中通常不直接使用。 ...
在Web应用程序中,动态页面是主要内容,它们允许网站提供个性化的信息和服务,但这也意味着每次用户请求页面时,服务器都需要重新编译或执行JSP,可能还需要与数据库交互,这些操作都会消耗大量系统资源。...
动态页面的每次请求都需要服务器进行编译、执行,甚至与数据库交互,这会消耗大量系统资源。为了提高效率和用户体验,人们提出了页面静态化和伪静态化技术。 **页面静态化**是指将动态生成的HTML页面保存为静态文件...
对于JSP页面,由于它们最终通过`JspWriter`输出,而`JspWriter`是`PrintWriter`的包装,可以考虑在`javax.servlet.jsp.PageContext`中找到`PrintWriter`并进行适当的压缩处理。 总结起来,Java中的GZIP压缩是通过`...
- **buffer**:用于指定`out`对象(类型为JspWriter)使用的缓冲区大小,如果设置为`none`,则所有输出直接通过`ServletResponse`的`PrintWriter`对象写出。设置该属性的值只能以kb为单位,默认值是8kb。 - **...
`PrintWriter`和`JspWriter`都是用于向响应流写入内容,但`JspWriter`通常在JSP页面中使用,与JSP元素交互更便捷。错误代码404表示资源未找到,500表示服务器内部错误。 在会话管理中,Cookie和Session是两种常用的...
- A `JspWriter对象`:JSP页面的输出流对象。 - B `PrintWriter对象`:Servlet的输出流对象。 - C `Out对象`:不存在此对象。 - D `ResponseWriter对象`:不存在此对象。 - **正确答案:** B `PrintWriter对象...
这主要是因为在JSP中,out对象实际上是对HttpServletResponse.getWriter()方法返回的PrintWriter对象的包装,而PrintWriter属于字符输出流的一种。 接下来,具体到这两种方法的不同点: 1. print方法在子类...
6. **Out对象**: `JspWriter`,用于向客户端输出内容,相当于Servlet的`PrintWriter`。 7. **Exception对象**: 当JSP页面抛出异常时,这个对象包含了异常信息。 8. **Config对象**: `ServletConfig`,提供Servlet...
* out:javax.jsp.JspWriter 对象,提供了几个方法使你能用于向浏览器回送输出结果。 * pageContext:javax.servlet.jsp.PageContext 对象,用于方便存取各种范围的名字空间、servlet 相关的对象的 API。 * session...
3. **out**:基于`PrintWriter`的`JspWriter`,用于将内容输出到客户端。可以通过`buffer`和`autoFlush`属性来控制缓冲区的行为。 4. **session**:`HttpSession`对象,用于存储用户会话中的数据。即使没有显式创建...
例如,`javax.servlet.jsp.JspWriter` 类对应于Servlet的`java.io.PrintWriter`,`javax.servlet.jsp.PageContext` 类则提供了对Servlet的`javax.servlet.ServletContext` 的访问。 8. **JSP的版本发展**: 随着...
4.Out对象类:JspWriter Out对象是用于向客户端输出数据的,相当于Java中的PrintWriter。例如,向页面输出一段文字: ```java out.println("Hello, World!"); ``` 5.Session对象类:HttpSession Session对象用于...
在案例中,`out`实际上是`JspWriter`对象,它是`PrintWriter`的子类,用于在JSP页面中输出内容。`out.println()`用于输出各种类型的数据,包括布尔值、字符、字符数组、浮点数、整数、长整数、对象和字符串。`out....
Out对象是`JspWriter`接口的实例,用于向响应流输出数据。它是JSP页面中默认的输出流,通常用于打印HTML标签、文本内容等。例如,`out.print()`方法用于输出字符串,`out.println()`则会在输出后添加换行符。 综上...
- `getWriter()`:返回一个`PrintWriter`,用于向客户端输出字符。 - `setContentLength(int len)`:设置响应内容的长度。 - `setContentType(String type)`:设置响应的MIME类型。 - `sendRedirect(String ...
九九乘法表</h1> () %> </body></html>比特科技3.1.1 out对象 out对象是javax.servlet.jsp.JspWriter的实例,用于向客户端发送数据,它继承了java.io.PrintWriter类。通过out对象,我们可以方便地将数据输出到浏览器...
这是一个`JspWriter`对象,通常是一个`PrintWriter`的子类,用于向客户端发送输出。`out`对象主要用于scriptlets(JSP脚本)中,因为JSP表达式会自动将内容写入输出流,所以一般不需要显式使用`out`。 4. `session...
- `getWriter()`:返回用于输出字符的PrintWriter。 - `setContentLength(int len)`:设置响应的长度。 - `setContentType(String type)`:设置响应的MIME类型。 - `sendRedirect(String location)`:重定向...
与ServletResponse.getWriter()返回的PrintWriter对象类似,out对象能够输出文本,但其内部带有缓存机制,提高了性能。 4.4.2 pageContext对象:作为JSP页面运行环境的代表,pageContext对象提供了一种途径来访问...