三 、SJP03 数据访问

三 、JSP 数据访问

3.1 include 指令

3.1.1 使用 include 指令

  • JSP 提供了文件引用指令 include
  • 可以将一些可以重用的内容写入一个单独的文件中,然后通过 include 指令引用改文件
  • JSP 的 include 指令以 <%@ 开始、以 %> 结束,具体语法如下
<%@ include file="应用文件路径" %>

3.2 application 内置对象

我们学习了使用 session 内置对象保存用户会话,一个用户对应一个 session 对象

而对于类似于应用中的访问数量,需要 Web 应用系统中的所有用户共享数据

这就需要使用到 JSP 的 application 对象了

3.2.1 application 对象概述

  • application 对象代表 Web 应用,整个 Web应用共享一个 application 对象
  • application 对象类似于系统中的 “全局变量”
  • 用于同一个 Web 应用内的所有用户之间的数据共享
  • application 对象的常用方法
方法名称说明
void setAttribute(String key,Object value)以 key/value 的形式将对象存储到 application 中
Object getAttribute(String key)通过 key 获取 application 中存储的对象
String getRealPath(Stirng path)返回相对路径的真实路径

3.3 JSP 九大内置对象小结

JSP中一共预先定义了9个这样的对象,分别为:

request、response、session、application、out、page、pageContext、config、exeception

3.3.1 JSP 常用内置对象的主要作用

内置对象名称说明
out用于向客户端输出数据
request主要用于处理客户端请求的数据信息
response用于响应客户端请求并向客户端输出信息
session用于记录会话状态的相关信息
application类似于系统的全局变量,用于实现 Web 应用中的资源共享
page表示当前页面,类属于 Java 的 this关键字
pageContext提供了在 JSP 运行时访问和其他相关的环境信息的能力
config用于存放在 JSP 运行时的一些初始化数据
exeception表示 JSP 运行时产生的异常和错误信息

3.4 JSP 对象的作用域

JSP 包含四大作用域,分别是 page 作用域、request 作用域、session 作用域和 application 作用域

3.4.1 page 作用域

  • page 作用域仅限于当前的 JSP 的范围
  • page 的对象只能在创建该对象的页面中进行调用和访问
  • page 作用域内可以使用 pageContext 对象的 setAttribute() 方法设置属性。使用 getAttribute() 方法获取属性
  • page 作用域在客户端每次请求 JSP 时创建
  • 在服务器发送响应或请求转发到其他的页面或资源后失效

3.4.2 request 作用域

  • request 作用域与客户端请求绑定,在转发或包含的页面中同样有效

  • 在调用 RequestDispatcher 的 forward() 方法跳转到的页面或调用 include() 方法包含的页面中,都可以共享同一个 request作用域

  • request 作用域对应每次客户端的请求都是不同的

  • 对于任何一个新的请求,都会重新创建与本次请求相对应的 request 作用域

  • 当请求结束后,与之相关的 request 作用域也随之失效

3.4.3 session 作用域

  • JSP 容器为每一个会话创建一个 session 作用域
  • 在会话有效期内,将数据绑定到 session 作用域中,该数据就可以在本次会话中的其他请求中访问
  • session 作用域可以通过 session 对象的 setAttribute() 方法与 getAttribute() 方法进行访问

3.4.4 application 作用域

  • session 作用域针对一个会话,而 application 作用域针对整个 Web 应用
  • 被该应用下所有用户共享
  • 所有页面都可以访问到 application 作用域内的变量
  • application 的作用域范围是四个作用域中最大的

3.4.5 session 和 application 的区别

对象信息量大小保存时间应用范围保存位置
application任意大小整个应用程序的声明周期所有用户服务器端
session小量,简单的数据用户活动时间 + 一段延迟时间(一般为20分钟)单个用户服务器端
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值