JSP page对象简介说明
下文笔者将讲述JSP中page对象的简介说明,如下所示:
多个使用;号分开
pageEncodeing属性只用于更改字符编码
servlet默认MIME是text/plain,jsp默认MIME是text/html。
当会话已存在,则预定义session变量,绑定到已有会话中
否则创建新会话将其绑定到session
设置false表示不自动创建新会话
在jsp页面转换为servlet时,这时对变量session的访问导致错误
设置为false并不是禁用会话跟踪,它只是阻止jsp页面为不拥有会话的用户创建新会话
注意对于不需要会话跟踪的页面那就设置为false;
当设置为false时session对象是不可访问的。
true表示忽略,false表示执行
默认值依赖于web.xml的版本
servlet2.3之前默认true,servlet2.4默认false
用于JSP版本不一致造成使用EL表达式出现的问题。使用:isELlgnored="true"
none表示不使用缓冲区
autoFlush属性控制当缓冲区满了后
是自动清空输出缓冲区(默认true)
还是在缓冲区溢出后抛出异常(false)
在buffer=none的时候,autoFlush=false是错误的
jsp容器做的是在servlet中生成getServletInfo方法返回info属性指定的String
这种阻止并发访问的实现是基于SingleThreadModel接口
所以,避免使用isThreadSafe属性。
父类必须是对HttJspPage接口的实现类
而HttJspPage是应用于HTTP协议的请求和响应的JspPage扩展接口。
例
为JSP页面指定编码
page对象简介 page对象是java.long.Object类的实例 page对象指JSP页面自身,那么它的生命周期同页面的生命周期的一致
page对象的语法
<%@ page attr="value1" attr="value2" ... %> // xml语法格式 <jsp:directive.page attr="value1" attr="value2" ... />
page对象的属性
import
page指令中唯一容许在同一文档出现多次的属性。属性的值可以以逗号隔开。它指定jsp页面转换成servlet应该输入的包。对于没有明确指定包的类,将根据jsp页面所在的包(生成的servlet的目录)决定类的包的位置。这意味着,将在jsp页面所在的包来寻找该类。注意一定要将实用工具类和bean包放在指定的包中,不要依赖于自动导入。language
用于指定在脚本元素中使用的脚本语言,默认java。在jsp2.0规范中,只能是java。contentType和pageEncoding
contentType属性设置发送到客户端文档的响应报头的MIME类型和字符编码多个使用;号分开
pageEncodeing属性只用于更改字符编码
servlet默认MIME是text/plain,jsp默认MIME是text/html。
session
session控制页面是否参与会话,默认true当会话已存在,则预定义session变量,绑定到已有会话中
否则创建新会话将其绑定到session
设置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为单位,默认8kbnone表示不使用缓冲区
autoFlush属性控制当缓冲区满了后
是自动清空输出缓冲区(默认true)
还是在缓冲区溢出后抛出异常(false)
在buffer=none的时候,autoFlush=false是错误的
info
定义一个可以在servlet中通过getServletInfo方法获取的字符串jsp容器做的是在servlet中生成getServletInfo方法返回info属性指定的String
errorPage和isErrorPage
设置当出现异常时,跳转至指定页面isThreadSafe
控制由jsp页面生成的servlet是否允许并发访问(默认true允许)这种阻止并发访问的实现是基于SingleThreadModel接口
所以,避免使用isThreadSafe属性。
extends
尽量避免使用。这是服务器提供商该做的事情父类必须是对HttJspPage接口的实现类
而HttJspPage是应用于HTTP协议的请求和响应的JspPage扩展接口。
page对象中常用方法
class getClass() | 返回此Object的类 |
int hashCode() | 返回此Object的hash码 |
boolean equals(Object obj) | 判断Object是否与指导的Object对象相等 |
void copy(Object obj) | 把此Object拷贝到指定的Object对象中 |
Object clone() | 克隆此Object对象 |
String toString() | 把此Object对象转换成String类的对象 |
void notify() | 唤醒一个等待的线程 |
void notifyAll() | 唤醒所有等待的线程 |
void wait(int timeout) | 使一个线程处于等待直到timeout结束或唤醒 |
void wait() | 让当前的线程处于等待直到被唤醒 |
为JSP页面指定编码
<%@ page language="java" contentType="text/html;charset=GBK"%> <html> <head> </head> <body> <center><h2>这里是contentType属性的设置测试</h2></center> </body> </html>
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。