关于aps中buffer和flush函数的具体解释和用法
首先看buffer buffer的意思是缓冲区 当我们在网页中利用response.write函数将字符串输出到网页时 数据并不是直接输出到网页中 而是先输出到缓冲区 等数据输出完毕或是程序调用了response对象中的end或者是flush函数后才会将缓冲区中的数据送至客户端 完成输出动作 语法的使用如下
response.buffer=ture | false
其中 ture代表输出前经过缓冲区 false则相反 一般情况下 预设值为true
而flush作为response对象的函数 上面也说过 它的作用可以强制把在缓冲区的数据输出 语法为
response.flush
一般而言 我们都是等整个asp程序被处理完成以后才将服务器端处理完的aps文件输出至浏览网页
回答完毕
response的什么方法可以蒋浏览器重新定向于一个新的url地址
Redirect方法可以用来将客户端的浏览器重定向到一个新的网页。
语法如下: Response.Redirect URL Flush方法 Flush方法可以立即发送缓冲区中的数据。
语法如下:
在ASP中。Response.Flush和Response .clear有什么区别,请具体解释下,详细的加分
1.Response对象之Flush方法,立即发送缓冲区中的输出。
如果未将 Response.Buffer 设置为 TRUE,则该方法将导致运行时错误。
语法:Response.Flush;注释:如果在 ASP 页上调用 Flush 方法,则服务器将响应该页上保持活动的请求。
应用于Response对象。
关于Buffer,这里有段介绍。
Buffer从英文直译过来的意思是“缓冲区”,这里我们将它称为缓冲,因为它不仅是个名词,还是个动词。
2.关于Response.clear,Clear 方法删除缓冲区中的所有 HTML 输出。
但 Clear 方法只删除响应正文而不删除响应标题。
可以用该方法处理错误情况。
请注意,如果未将 Response.Buffer 设置为 TRUE,则该方法将导致运行时错误。
语法:Response.Clear;应用于Response对象。
好了,想实现立即输出的效果,只要在循环体内的希望输出提示信息后加上Response.Flush和Response.Clear就可以了。
如:
<%
for i=1 to 2000
for i1=1 to 3000
'空循环,延长每次执行时间
next
Response.write i&")"
Response.Flush
Response.Clear
next
%>
上述asp语句,你执行后,会发现输出是逐个逐个输出的,执行一次,就输出一次。
但我在网上看到有人说,“很多时候,我们发现即使我们使用了Response.Flush(),但是并没有将前面的信息发到客户端来显示。
呈献给我们的依然是白屏。
经过反复的测试,我得出一个结论:就是flush的内容至少要有256字节。
也就是只有编译产生了至少256字节的数据,才能在执行Response.Flush()以后将信息发到客户端并显示。
”
response.sendRedirect和forward到底有什么不同(JSP)
然后由浏览器来做转向,转到指定的页面,所以用sendRedirect时,浏览器的地址栏上可以看到地址的变化。
用则不同,它是直接在server做的,浏览器并不知道,也不和浏览器打交道,
这从浏览器的地址并不变化可以看出。
所以使用response.sendRedirect时就需要注意以下两点:
1,在使用response.sendRedirect时,前面不能有HTML输出。
这并不是绝对的,不能有HTML输出其实是指不能有HTML被送到了浏览器。
事实上现在的server都有cache机制
,一般在8K(我是说JSP SERVER),这就意味着,除非你关闭了cache,
或者你使用了out.flush()强制刷新,那么在使用sendRedirect之前,
有少量的 HTML输出也是允许的。
如果报错说,“一些信息已经被submitted”(原文忘了),那么,你就要注意看了,前面是不是有
过多的HTML输出了。
2,在response.sendRedirect之后,应该紧跟一句return;
我们已经知道response.sendRedirect是通过浏览器来做转向的,所以只有在页面处理完成后,
的输出导致转向失败。
java web二进制流的图片如何用response返回给前台
FileOutputStream很明显你是用的文件流返回的
// 以byte流的方式打开文件 d:1.gif? ? ??
FileInputStream hFile = new FileInputStream(url); ? ? ?//得到文件大小 ??
int i=hFile.available();?
byte data[]=new byte[i]; ? ? ? ?//读数据
hFile.read(data); ?? ? ? ?//得到向客户端输出二进制数据的对象
OutputStream toClient=response.getOutputStream(); ?? ? ? ?//输出数据?
toClient.write(data); ?
toClient.flush(); ?
toClient.close(); ??
hFile.close();
扩展资料:
如果是纯文本使用字符流,如果二进制文件,使用字节流。
如果只是得到信息,原样不动,不进行修改操作,例如文件上传和下载,这时就使用字节流。
文件上传:在服务器端把浏览器端信息提取出来。
文件下载:把服务器端内容写给浏览器端。
如果要操作的是自定义信息,这时使用字符流。
通过response获取的输出流它的真实类型是什么?
ServletOutputStream? response.getOutputStream();
PrintWriter? response.getWriter();
ServletOutputStream由于使用字节流多数是原样复制,所以使用write方法,而不是print方法。
PrintWriter:打印流,两个特点:1.可以设置自动刷新。
2.可以将信息原样输出。