三 、JSP03 数据访问

三 、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分钟) 单个用户 服务器端

你可能感兴趣的:(JSP,servlet,java,前端,jsp)