JSP内置对象和4大作用域

article/2025/9/23 17:15:36

什么是JSP内置对象

JSP内置对象,就是编写JSP页面时,不需要做任何声明就可以直接使用的对象,列如下面的代码片段。

 <%

        int [] value = { 60 , 70 , 80};

        for(int i : value){

                out.print(i);

        }

%>

代码out.print()可以实现页面的输出显示,但是在代码中并没有任何地方声明和创建这个out对象,没有创建就可以直接使用的原因是out对象是JSP内置对象之一。

除了out对象以外,在JSP中还有一些其他的内置对象。如下图:

out内置对象是在JSP开发过程中使用最频繁的对象,同时使用起来也是最简单的。out对象用于向浏览器输出数据,其常用的方法就是print(),这个方法用于在页面中显示字符串信息。

<%

        out.print("Hello JSP");

%>

JSP内置对象request

request是用于处理请求数据的。request对象也是最常用的JSP内置对象之一,其中包含啦有关浏览器请求的信息。其工作原理:

                                                 request对象常用方法

                方法名称                               说明
String getParameter(Strring name)根据页面表单组件名称获取页面提交数据
String[] getParameterValues(String name)获取一组以相同名称命名的表单组件提交的数据
void setCharacterEncoding(String charset)指定每个请求的编码,在调用request.getParameter()方法之前进行设定,可以用于解决中文乱码问题
RequestDispatcher getRequestDispatcher(String path)返回一个java.servlet.RequestDispatcher对象,该对象的forward()方法用于转发请求

 JSP内置对象response

与request对象相对应的对象是response对象,response对象可用于设置响应参数及取得响应流等,其工作原理:

 于request对象一样,response对象也提供啦多个方法用于处理HTTP响应。

                                       response对象的常用方法

                       方法名称                               说明
void addCookie(Cookie cookie)向客户端添加Cookie
void setContentType(String type)设置HTTP响应的contentType类型
void setCharacterEncoding(String charset)设置响应所采用的字符编码类型
void sendRedirect(String location)将请求重新定位到一个新的URL上

                                                内置对象session

方法名称说明
String getId()获取sessionid
void setMaxInactiveInterval(int interval)设置session过期时间,单位为秒
int getMaxInactiveInterval()获取session过期时间,单位为秒
void invalidate()设置session对象失效
void setAttribute(String key,Object value)以key/value的形式将对象保存到session中
Object getAttribute(String key)通过key获取session中保存的对象
void removeAttribute(String key)从session中删除指定key对应的对象

                                        内置对象application

方法名称说明
void setAttribute(String key,Object value)以key/value的形式将对象存储到application中
Object getAttribute(String key)通过key获取application中存储的对象
String getRealPath(String path)返回相对路径的真实路径

  application对象类似于系统的“全局变量”,用于同一个应用内的所有用户之间的数据共享。

                                            JAVA内置对象

内置对象名称说明
out对象用于向客户端输出数据
request对象主要用于处理客户端请求的数据信息
response对象用于响应客户端请求并向客户端输出信息
session对象用于记录会话状态的相关信息
application对象类似于全局变量,用于实现web应用中的资源共享

        

                                          JSP的其他内置对象

pageContext:提供了在JSP运行时访问和其相关的环境信息的能力。通过pageContext对象可以访问和当前JSP页面相关联的所有作用域(当前页作用域),以及一些页面属性

常用方法:

ServletRequest getRequest():获得request对象

ServletResponse getResponse():获得response对象

HttpSession getSession:获得session对象

JspWriter getOut():获得out对象

void setAttribute():保存属性

Object getAttribute():获得属性

void include():请求指定的资源,并将目标资源的响应结果包含在调用页面的响应中

page:表示当前页面,类似于Java中的this。在JSP页面中,很少使用page对象

config:用于存放JSP编译后的初始数据。与page对象一样,在JSP页面中很少使用

exception:表示JSP页面运行时产生的异常和错误信息,该对象只有在错误页面(page指令中设定isErrorPage为true的页面)中才能够使用


对象的作用域

在JSP中,提供了四种作用域,分别是page作用域、request作用域、session作用域和application作用域

page作用域

page作用域指单一JSP页面的范围,page作用域内的对象只能在创建该对象的页面中访问。page作用域可以使用pageContext对象的setAttribute()和getAttribute()方法进行访问。page作用域在客户端每次请求jsp页面时创建,在服务器发送响应或请求转发到其他页面或资源后失效。

 request作用域

request作用域:一次请求,与客户端的请求绑定在一起。其作用域范围比page大,可以通过调用request对象的setAttribute()和getAttribute()方法进行访问。request作用域在页面转发中同样有效,通过调用RequestDispatcher的forward()方法进行转发,或调用其include()方法将页面包含,都可以共享request作用域。

每次新请求都会创建一个新的request作用域,请求结束时该作用域失效。

session作用域

session作用域:一次会话,即浏览器打开到关闭。在会话有效期内,只要将数据绑定到session作用域中,则该数据可以被本次会话中的其他页面所访问。可以通过session.setAttribute() 和session.getAttribute()方法进行访问其作用域。

application作用域

application作用域:整个web应用,即从tomcat启动到停止,被该应用下的所有用户共享。通过application.setAttribute() 和application.getAttribute()方法进行访问


http://chatgpt.dhexx.cn/article/tfPjtybn.shtml

相关文章

如何在cmd命令提示符中到达指定路径或文件夹

补充&#xff01;&#xff01;&#xff01;快速方法&#xff01; 可以直接在文件夹路径处单击&#xff0c;然后输入cmd&#xff0c;按回车就可以了 ** 以下为传统方法&#xff1a; ** 1.如果要找的路径在C盘 (1)&#xff08;用相对路径&#xff09;若果是在要到当前目录下…

cmd中回退到上一级文件目录 与 定位下一级目录

回退到上一级 cd… 定位到下一级 cd xxx(输入想到达的下一级文件名)

Windows系统下cmd中直接返回根目录

今天在vscode中使用 cd/ 命令返回根目录&#xff0c;但是发现命令不识别&#xff0c;如图&#xff1a; 切换到 cmd 中使用 cd/ 命令则正常使用&#xff1a; 眼神好的同学应该已经发现了&#xff0c;vscode 中目前使用的终端是 PS&#xff0c;即 Power Shell&#xff0c;打开系统…

Win7 64的cmd控制台进入下级目录和返回上级目录(上级目录cd .. 下级目录cd+文件名称)

本博客主要总结在win7 64位系统下&#xff0c;在cmd控制台&#xff0c;一级一级进入目录。然后再一级一级返回上一级目录&#xff0c;具体的如下面所述。 背景知识&#xff1a; a1.进入下一级目录命令: cd 文件夹名称 cd 文件夹名称 a2.返回上一级目录命令: …

cmd如何返回上一级目录,如何进入其他文件目录

当我们打开cmd或者composer运行命令时都会进入一个默认文件目录&#xff0c;那么cmd该如何返回上一级目录&#xff0c;和如何进入其他文件目录运行命令呢&#xff0c;具体方法如下图所示&#xff01; 1&#xff1a;在默认的命令后加 cd.. 即可返回上一级目录 2&#xff1a;cmd…

Barman 2.7 发布,PostgreSQL 数据库备份工具

开发四年只会写业务代码&#xff0c;分布式高并发都不会还做程序员&#xff1f; Barman 2.7 已发布&#xff0c;Barman 是 PostgreSQL 数据库的备份和灾难恢复管理器。新版本修复了备份并行副本、异地冗余可用性和 UTF-8 输入/输出处理中的各种错误。 新版的更新亮点是并行备…

pg备份还原工具--barman

2019独角兽企业重金招聘Python工程师标准>>> 一、系统 [rootbarman ~]# cat /etc/issue CentOS release 6.5 (Final) Kernel \r on an \m[rootbarman ~]# uname -a Linux barman 2.6.32-431.11.2.el6.x86_64 #1 SMP Tue Mar 25 19:59:55 UTC 2014 x86_64 x86_64 x86…

Postgres流式备份(1)Barman概述

参考文档&#xff1a;http://docs.pgbarman.org/release/2.5/index.html 概述 Barman是使用Python编写的PostgreSQL开源备份和恢复管理器 功能 多种备份方式集成备份文件的管理 流备份技术和工具 pg_basebackup&#xff1a;用于数据库全量备份pg_receivewal/pg_receivexl…

Barman 常用命令

http://docs.pgbarman.org/release/2.3/ 官方操作手册 数据库备份命令 barman备份命令 1、执行全备份 barman backup vlnx053001.foneshare.cn 数据库备份检查命令 1、查看可监听的数据库服务器 barman list-server 2、状态检查 barman check vlnx053003.foneshare.cn barman…

barman使用复制槽备份

http://docs.pgbarman.org/release/2.5/ 使用复制槽就不用创建公钥及传递公钥了在 barman和pg服务器间 复制槽和 rsync 最好不要一起使用&#xff0c;一起使用的话 会导致 incoming里的文件爆满不会自动删除&#xff08;实践是这样的&#xff09; 搭建测试环境 vlnx15100510…

Barman离线安装(一步到位)

软件版本信息 软件版本CentOS Linux release 7.8.2003 (Core)Python 3.6.8pip 9.0.3 from /usr/lib/python3.6/site-packages (python 3.6)psql (PostgreSQL) 13.6 安装postgresql客户端 1. 配置yum源&#xff0c;安装依赖 # vim /etc/yum.repos.d/CentOS-Media.repo [c7-m…

barman

拓扑&#xff1a; 注意&#xff1a; 1.barman的安装需要使用postgresql的模块&#xff0c;尽量保证pg1 &#xff0c;barman-server&#xff0c;backup-pg上的postgresql版本一致。 步骤&#xff1a; 1 在pg1上安装postgresql-11 yum install https://download.postgresql.org/…

Barman备份方案介绍

Barman 是一款开源的基于Python开发的集备份和恢复为一体的优秀PG数据库备份工具&#xff0c;它可以对单个/多个PG数据库进行远程/本地备份&#xff0c;用以增强业务数据的安全性&#xff0c;为DBA提供恢复数据库提供可靠的帮助。 Barman 优点 支持对多版本PG的备份, 已知支持…

PostgreSQL 备份恢复工具之 Barman

文章目录 Barman 简介Barman 与 pg_dump 对比 Barman 简介 Barman&#xff08;Backup and Recovery Manager&#xff0c;备份与恢复管理器&#xff09;是一个用于 PostgreSQL 数据库灾难恢复的开源管理工具&#xff0c;使用 Python 编写。Barman 使得企业能够执行多个关键业务…

使用 barman的备份和归档PostgreSQL

1 前言 1.1 Barman简介 barman&#xff08;备份和恢复管理器&#xff09;是用于PostgreSQL服务器进行灾难恢复的开源管理工具&#xff0c;是以Python编写的。它支持对多台服务器执行远程备份&#xff0c;以降低风险并帮助DBA进行数据库恢复。 1.2 Barman的备份方式 本文假定…

github删除某个项目流程

1.进入网站 2.找到要删的项目&#xff0c;点进去 3.进去之后往下拉&#xff0c;拉到这里 接下来就点它按提示操作就删除了。

GitLab删除项目操作(亲测)

刚开始找了半天没找到删除按钮在哪&#xff0c;现在记录一下&#xff0c;分享。 第一步&#xff1a;点进入项目 第二步&#xff1a;进入项目Settings 第三步&#xff1a;往下拉&#xff0c;找到Remove,删除即可。 所有内容皆为个人总结或转载别人的文章&#xff0c;只为学习技…