JSP学习笔记(二)之JSP的内置对象

本文详细介绍了JSP内置对象的功能和使用方法,包括out、request、response、session、application等核心对象,以及pageContext、config、exception等辅助对象。文章还讲解了如何利用这些对象实现数据交互与状态管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

01 介绍

  • jsp内置对象是web容器创建的一组对象,不使用new关键字就可以使用内置对象
    这里写图片描述
  • 语法
<%
        int value[]={1,2,3,4,5};
        for(int i : value){
            out.println(i);//out即内置对象,可以直接使用
        }
    %>

常用的五大内置对象:out,request,response,session,application
不太常用的内置对象:page,pageContext,exception,config


02 常用内置对象的介绍


2.1 out对象
  • jspWriter类的实例,是向客户端输出内容常用的对象
  • 常用的方法:
    1. void println()向客户端打印字符串
    2. void clear()清除缓存区的内容,在flush方法之后调用会异常
    3. void clearBuffer()清除缓存区的内容,在flush方法之后调用不会异常
    4. void flush()将缓冲区内容输出到客户端
    5. int getBufferSize()返回缓冲区以字节数的大小
    6. int getRemaining()返回缓冲区还剩余多少可用
    7. boolean isAutoFlush()返回缓冲区满时,时自动清空还是抛出异常
    8. void close()关闭输出流

2.2 request对象
  • 客户端的请求信息封装在request对象中,通过它才能了解客户的需求,然后做出响应,
  • request对象具有请求域,在完成客户端的请求之前,该对象一直有效。
  • 常用方法:
    1. String getParameter(String name)返回name指定参数的参数值
    2. String getParameterValues(String name)返回包含参数name的所有值的数组,在页面中常用checkbox
    3. void setAtrribute(String name,Object object)存储此请求中的属性
    4. object getAttribute(String name)返回指定属性的属性值
    5. request方法在获取页面的信息时,出现乱码要加语句:
      request.setCharacterEncoding("utf-8");

2.3 response对象
  • response对象包含了响应客户端请求的有关信息,但在jsp中很少直接用到,
  • response对象具有页面作用域,即访问一个页面时,该页面的response对象只能对这次访问有效,其他页面的response对象对当前页面无效
  • 常用方法:
    1. String getCharacterEncoding()返回响应应用的时何种字符编码
    2. void setContentType(String type)设置响应的mime类型
    3. PrintWriter getWriter()返回可以向客户端输出字符的一个对象(即向客户端输出)
    4. sendRedirect(java.lang.String location)重新定向客户端的请求
    5. 注意比较priterwriter与内置out对象的区别:当同时用priterwriter对象和out对象,无论二者的先后,最终显示都是先输出out对象的内容,除非先调用out对象的flush方法,强制输出缓存区的内容

这里写图片描述

2.4 session对象

这里写图片描述

  • 表示客户端与服务器的一次会话
  • 具体到web中的session指的就是用户在浏览一个网站时,从进入网站到浏览器关闭所经历的这段时间
  • session是保存在服务器的内存中,同时一个用户对应一个session,客户与session是一一对应

这里写图片描述

  • session对象是jsp的内置对象,在用户打开第一个jsp页面时自动创建,完成会话期管理
  • 服务器通过session对象来确定在不同页面切换的是否是同一个用户
  • 常用方法:

    1. long getCreationTime() 返回session创建的时间(毫秒)
    2. public String getId() 返回session创建时jsp引擎为他设定的唯一id号
    3. Public Object setAttribute(String name,Object value) 使用指定名称将对象绑定到此会话
    4. Public Object getAttribute(String name) 返回与此会话中指定名称绑定在一起的对象,没有返回null
    5. String[] getValueNames() 返回一个包含session所有可用属性的数组
    6. int getMaxInactiveInterval() 返回两次请求间隔多长时间此session被取消
    7. void setMaxInactiveInterval()通过此方法设定session最长生存周期,单位是秒
  • 如果想从毫秒转换成时分秒,使用Java自带类就可以,先在page的include属性中导入java.text.*包,之后

SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
Date date = new Date(sesson.getCreateTime());
sdf.format(date);

2.5 application对象
  • application对象实现了用户间的数据共享,可存放全局变量
  • application开始于服务器的启动,终止于服务器的关闭
  • 在用户的前后连接或不同用户之间的连接中,可以对application对象的同一属性进行操作
  • 在任何地方对application对象属性的操作,都将影响到其他用户对此的访问
  • 常用方法:
    1. public void setAttribution(String name,Object object)使用指定名称将对象绑定到此会话
    2. public Object getAttribution(String name)返回与此会话指定名称绑定在一起的对象,没有则返回null
    3. Enumeration getAtrributeNames()返回所有可用属性名的枚举
    /**
    *利用Java中自带的枚举类来遍历属性,这里要注意,
    *application自带很多属性,所有枚举打印之后不仅仅有用户设定的
    */
    Enumeration values =application.getAttributeNames();
    while(values.hasMoreElements()){
        out.println(values.nextElement()+"&nbsp;&nbsp;");
    }

03 不常用内置对象


3.1 pageContext对象
  • pageContext对象提供了对jsp页面内所有对象及命名空间的访问
  • pageContext对象可以访问到本页所在的session,也可以获取本页面所在的application的某一属性值
  • pageContext对象相当于页面中所有功能的集大成者
  • 常用方法
    1. void setAttribute(String name,Object object)设置属性及属性值
    2. int getAttributeScope(String name)返回某属性的作用范围
    3. Object getAtrribute(String name,int Scope)在指定范围内取属性的值
    4. void forward(String relativeURLpath)跳转到另一个页面
    5. void include(String relativeURLpath)在当前位置包含另一个文件,在当前位置会显示包含页面的全部内容

3.1 Config对象
  • config对象是一个在servlet初始化时,jsp引擎向他传递信息用的,此信息包括servlet初始化时所要用到的参数(键值对的形式)以及服务器有关的信息

3.2 Exception对象
  • exception对象是一个异常对象,当一个页面在运行过程中发生了异常,就产生这个对象,
  • 如果一个jsp页面要应用此对象,就必须把i**sErrorPage设置为true**(isErrorPage是page的一个属性,默认是false),否则无法编译。
  • 流程:
    A.jsp的page属性errorPage是用来设定发生异常时要跳转到的页面的url,假设是B.jsp,B.jsp的page属性的isErrorPage要设定为true,这样B.jsp就是作为异常处理的页面,显示异常信息
  • 常用方法
    1. String getMessage()返回描述异常的消息
    2. String toString()返回关于异常简短描述消息

接下来请学习:
JSP学习笔记(三)之状态管理与参数传递


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员世杰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值