您现在的位置是:首页 >技术杂谈 >三 、SJP03 数据访问网站首页技术杂谈
三 、SJP03 数据访问
简介三 、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分钟) | 单个用户 | 服务器端 |
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。