• JSP page对象简介说明


    转自:

    JSP page对象简介说明

    下文笔者将讲述JSP中page对象的简介说明,如下所示:

     page对象简介
        page对象是java.long.Object类的实例
        page对象指JSP页面自身,那么它的生命周期同页面的生命周期的一致	 
    

    page对象的语法

    <%@ page attr="value1" attr="value2" ... %>
    // xml语法格式
    
    

    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为单位,默认8kb
    none表示不使用缓冲区
    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"%>
    
    
    
    
    

    这里是contentType属性的设置测试

  • 相关阅读:
    用Swift来写命令行程序
    iOS基础开发介绍
    王道 第四章网络层
    【代码随想录】算法训练计划23
    《Effective C++》知识点(7)--模板与范型编程
    数据虚拟化:零数据搬运,实现全域数据的集成和自适应加速
    周报、月报有多折磨人?万能报表模板建议收藏!(附模板)
    英伟达首席科学家:深度学习硬件的过去、现在和未来
    【网站架构】如何长久运行升级?高可用部署只是基础,巡检、监控、应用数据备份、日志、灰度发布
    Python二级编程:分词去重
  • 原文地址:https://blog.csdn.net/qq_25073223/article/details/126081243