out 对象 20111031

本文详细介绍了JSP中的Out对象及其工作原理,Out对象用于向客户端输出文本数据,并可调整缓存大小。此外,还提供了使用JSP实现文件下载的示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天,我们主要学了JSP中九大隐式对象中的Out对象

Out对象

out隐式对象用于向客户端发送文本数据。 

out对象是通过调用pageContext对象的getOut方法返回的,其作用和用法与ServletResponse.getWriter方法返回的PrintWriter对象非常相似。 

JSP页面中的out隐式对象的类型为JspWriterJspWriter相当于一种带缓存功能的PrintWriter,设置JSP页面的page指令的buffer属性可以调整它的缓存大小,甚至关闭它的缓存。 

只有向out对象中写入了内容,且满足如下任何一个条件时,out对象才去调用ServletResponse.getWriter方法,并通过该方法返回的PrintWriter对象将out对象的缓冲区中的内容真正写入到Servlet引擎提供的缓冲区中:

设置page指令的buffer属性关闭了out对象的缓存功能

out对象的缓冲区已满

整个JSP页面结束

out隐式对象的工作原理图 

JSP实现文件下载:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@page import="java.io.File"%><%@page import="java.io.OutputStream"%><%@page import="java.io.InputStream"%><%@page import="java.io.FileInputStream"%><%@page import="java.net.URLEncoder"%><%

         String path = application.getRealPath("./images/1.jpg");

         File file = new File(path);

         InputStream is = new FileInputStream(file);

         

         response.setHeader("content-disposition","attachment;filename="+URLEncoder.encode(file.getName(),"UTF-8"));

         OutputStream os = response.getOutputStream();

         byte buffer[] = new byte[1024];

         int len=0;

         while((len=is.read(buffer))!=-1){

          os.write(buffer,0,len);

         }

         os.flush();

         os.close();

         is.close();

%>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值