jsp,请问在page指令指定的buffer值与用response.setbuffersize()指定有什么不同?

jsp,请问在page指令指定的buffer值与用response.setbuffersize()指定有什么不同?,第1张

我查阅了一下,网上有这么一说:

buffer:指定到客户输出流的缓冲模式。如果为none,则不缓冲;如果指定数值,那么输出就用不小于这个值的缓冲区进行缓冲。与autoFlash一起使用。默认不小于8KB,根据不同的服务器可设置。例如,buffer="64kb"。

response.getBufferSize()返回的是实际的缓冲区大小。它一般大于 response.setBufferSize()所设置的。API说的很清楚。

(加上我的理解,不一定是对的:如果输出流的大小大于缓冲区,就用2个缓冲区去装这个输出流;如果输出流大小比缓冲区小,就用1个缓冲区就够了。response.setBufferSize()和page buffer=?? 设置的效果一样,这个缓冲区大小和response.getBufferSize()无直接联系,它返回的数值是 实际输出流在缓冲区中的大小,即输出流大小。)

说明:我对这个问题是头一次接触,只是说下我的见解,希望能你有多一些思路罢了。不要认为这个是正确答案。

1、JSP的编译指令是同志引擎的消息,它不直接生成输出。编译指令都有默认值,因此开发人员无须为每个指令设置值。常见的编译指令:

     page:该指令是针对当前页面的指令

     include:用于指定包含另一个页面

     taglib:用于定义和访问自定义标签

     使用编译指令语法格式:<%@ 编译指令名 属性名="属性值"...%>

2、page指令

     page指令位于JSP页面的顶端,一个JSP页面可以使用多条page指令。page指令属性:

     language:声明当前JSP页面使用的脚本语言的种类,因为页面是JSP页面,所以通常都是java,默认值也是java,所以通常无须设置。

     extends:指定JSP页面编译所产生的Java类所继承的父类,或所实现的接口。

     import:用来导入包。默认导入的包:java.lang.*,javax.servlet.*、javax.servlet.jsp.*、javax.servlet.http.*。

     session:设定这个JSP页面是否需要HTTP Session。

     buffer:指定输出缓冲区的大小。输出缓冲区的JSP内部对象:out用于缓存JSP页面对客户浏览器的输出,默认值为8KB,可设为none。

     autoFlush:当输出缓冲区即将溢出时,是否需要强制输出缓冲区内容。true时输出,false会在buffer溢出时产生一个异常。

     info:设置该JSP程序的信息,也可以看作其说明,可通过Servlet.getServletInfo()方法获取该值。

     errorPage:指定错误处理页面。

     isErrorPage:设置本JSP页面是否为错误处理程序。

     contentType:用于设定生成网页的文件格式和编码字符集,即MIME类型和页面字符集类型,默认的MIME类型是text/html,默认的字符集是ISO-8859-1。

     pageEncoding:指定生成网页的编码字符集。

注:因为JSP内建了异常机制支持,所以JSP可以不处理异常,即使是checked异常。

3、include指令:可以将一个外部文件嵌入到JSP文件中,同时解析这个页面的JSP语句。include既可以包含静态的文本,也可以包含动态的JSP页面。语法格式:<%@include file="relativeURLSpec"%>

如果嵌入的文件经常改变,建议使用 *** 作指令,因为它是动态的include语句。

需要注意的是,静态包含还会将被包含页面的编译指令也包含进来,如果两个页面的编译指令冲突,那么页面就会报错。

page 指令用来对JSP文件的全局属性进行设置,如页面编码、脚本语言、错误页面、缓冲区等。

page 指令虽然可以放在JSP文件的任意位置,但是一般放在文件顶部。

page 指令的基本语法:

<%@ page attribute="value" %>

你也可以使用 XML 格式:

<jsp:directive.page attribute="value" />

注意:page 指令只能对当前JSP页面进行设置,每个JSP页面都有自己的page指令。

page 指令拥有多个属性:

属性 描述 默认值

language 指定JSP页面使用的脚本语言。 Java

extends JSP被翻译成Servlet程序,该属性设置Servlet继承的超类。 HttpJspBase 类

import 引用外部类文件。 无

session 设置session是否有效。 true (有效)

buffer 定义输出流缓冲区大小。 8KB

autoFlush 设置是否自动刷新输出缓冲区。 true (自动)

isThreadSafe 设置当前JSP页面是否能够同时处理一个以上的用户请求。 true (可以)

info 设置JSP页面的信息。 无

isELIgnored 是否忽略EL表达式。 false (不忽略)

isErrorPage 当前JSP页面是否是错误处理页面。 false (不是)

errorPage 设置异常处理页面的URL,即某个 isErrorPage 属性为 true 的页面的URL。 无

contentType 设置 MIME 类型和编码方式。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/7960079.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存