`
jiagou
  • 浏览: 2530614 次
文章分类
社区版块
存档分类
最新评论

jsp作业(2)--jsp指令

 
阅读更多

1.JSP九大隐式对象(内置对象)

Request
Response
Session
Application
Config
Page
exception
Out
pageContext

2.简述page指令的各个属性的值。


import属性:page指令中唯一容许在同一文档出现多次的属性。属性的值可以以逗号隔开。
指定jsp页面转换成servlet应该输入的包。对于没有明确指定包的类,将根据jsp页面所在的包(生成的servlet的目录)决定类的包的位置。
这意味着,将在jsp页面所在的包来寻找该类。

一定要将实用工具类和bean包放在指定的包中。不要依赖于自动导入。

language属性:
用于指定在脚本元素中使用的脚本语言,默认java。在jsp2.0规范中,只能是java。

contentType和pageEncodeing属性:
contentType属性设置发送到客户端文档的响应报头的MIME类型和字符编码。多个使用;号分开。
pageEncodeing属性只用于更改字符编码。

servlet默认MIME是text/plain,jsp默认MIME是text/html。

session属性:控制页面是否参与会话

默认true。如果存在已有会话,则预定义session变量,绑定到已有会话中。否则创建新会话将其绑定到session。
对于高流量网站,设置false可以节省大量服务器内存。
设置false表示不自动创建新会话,在jsp页面转换为servlet时,这时对变量session的访问导致错误。
设置为false并不是禁用会话跟踪,它只是阻止jsp页面为不拥有会话的用户创建新会话。

* 对于不需要会话跟踪的页面那就设置为false;当设置为false时session对象是不可访问的。

isELlgnored属性:
定义在jsp页面中是否执行或忽略EL表达式。true表示忽略,false表示执行。
默认值依赖于web.xml的版本。servlet2.3之前默认true,servlet2.4默认false。
用于JSP版本不一致造成使用EL表达式出现的问题。使用:isELlgnored="true";

buffer和autoFlush属性:
buffer属性指定out对象(JspWriter)使用的缓冲区大小,以kb为单位,默认8kb。
none表示不使用缓冲区。这样要求设置报头或状态代码的jsp元素要出现在文件的顶部,任何HTML内容之前。

autoFlush属性控制当缓冲区满了后,是自动清空输出缓冲区(默认true),还是在缓冲区溢出后抛出异常(false)。
在buffer=none的时候,autoFlush=false是错误的。

info属性:
定义一个可以在servlet中通过getServletInfo方法获取的字符串。

jsp容器做的是在servlet中生成getServletInfo方法返回info属性指定的String。

errorPage和isErrorPage属性:指定页面专用的错误页面。
errorPage属性用来指定一个jsp页面,由该页面来处理当前页面中抛出但没有捕获的任何异常。指定的页面可以通过exception变量访问异常信息。
isErrorPage属性表示当前页是否可以作为其他jsp页面的错误页面。true或false。
错误页面应该放在WEB-INF目录下面,只让服务器访问,也不会生成转发的调用,客户端只能看到最初的请求页面URL,看不到错误页面的URL。

如果为整个web应用程序指定错误页面,或为应用中不同类型的错误指定错误处理页面,使用web.xml中的error-page元素。

如果一个页面通过该属性定义了专有的错误页面,那么在web.XML文件中定义的任何错误页面不会被使用。

只能够在错误处理页面中使用错误对象exception。

isThreadSafe属性:采用显式的同步来代替该方法。
控制由jsp页面生成的servlet是否允许并发访问(默认true允许)。
这种阻止并发访问的实现是基于SingleThreadModel接口。所以,避免使用isThreadSafe属性。

extends属性:避免使用。这是服务器提供商该做的事情。父类必须是对HttJspPage接口的实现类。而HttJspPage是应用于HTTP协议的请求和响应的JspPage扩展接口。
指定JSP页面生成的servlet的超类。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics