JSP入门——pageContext,page和session对象

483 阅读3分钟

「这是我参与11月更文挑战的第25天,活动详情查看:2021最后一次更文挑战

前言

大家好,我是程序猿小白 gw_Gw,很高兴能和大家一起学习进步。

以下内容部分来自于网络,如有侵权,请联系我删除,本文仅用于学习交流,不用作任何商业用途。

摘要

本文主要介绍JSP脚本中的9个内置对象中的pageContext对象,page对象和session对象。

1 pageContext对象

pageContext是PageContext类型的对象,用来访问JSP之间的共享数据,还能用来获取其他JSP内置对象。

pageContext对象的重要作用就是提供一个单一的页面然后来操作其他JSP内置对象。实际开发中很少使用。(因为我们直接来使用其他对象就可以了呀。)

1.1 访问共享数据

通过两个重载方法来访问共享数据。

  1. getAttribute(String name) 访问page范围内的变量

  2. getAttribute(String name,int scope) 访问指定范围内的变量

    scope可以取值:

    • 1 page范围
    • 2 request范围
    • 3 session范围
    • 4 application范围

同样也可以通过对应的setAttribute来设定对应范围的变量,只需要把get换成set即可,这里就不再详述。

1.2 访问内置对象

获取对应的内置对象通过对应的get方法。具体方法如下:

getException()返回当前页的 Exception 对象
getRequest()返回当前页的 request 对象
getResponse()返回当前页的 response 对象
getServletConfig()返回当前页的 ServletConfig 对象
getSession()返回当前页的 session 对象
getPage()返回当前页的 page 对象
getServletContext()返回当前页的 application 对象

2. page对象

Page对象是Object的一个实例,实际就是当前JSP本身,相当于this。page对象的范围就仅仅是当前页面。通常在开发JSP页面时使用。

page对象具有的方法如下,用来访问当前页面的信息:

方法描述
getClass()返回当前类
hashCode()返回hash值
toString()把Object对象转换成 String 类的对象
equals(Object obj)判断与指定的对象是否相等

3. session对象

session对象是HttpServlet的实例,代表用户的一次会话(用户浏览器与服务器连接开始,到用户浏览器与服务器断开结束,代表一次会话)

session对象作用范围可以是多个jsp页面,常常用来判断用户是否登录。

setAttribute(String name, Object value)设置session对象的属性和属性值
getAttribute(String name)根据属性返回获取相应的 属性值,如果属性没有相应的属性值,则返回 null

通过判断session对应的属性值是否为null来进行不同的操作。

小结

以上就是关于JSP脚本中的9个内置对象中的pageContext对象,page对象和session对象的一些介绍,希望对读者有所帮助,如有不正之处,欢迎留言指正。