当前课程知识点:Web后端开发技术 > 第4章 JSP基础 > 4.5 内置对象 > 4.5.2 内置对象(2)
欢迎大家回来继续学习Web后端开发技术
在这一小节当中
我们将学习内置对象的第2部分
application对象
application对象
代表的是Web应用的上下文
表示是当前应用程序的运行环境
它的生命周期是在容器启动时实例化
在容器关闭时候销毁
那么对于 application对象
它的类型是
ServletContext
那么在之前课程当中我们提到的都是
ServletContext
这样一个类
在这里面
它的类
它这个对象就叫做
application对象
这里面我们列出来了
application对象 可以使用的
常用的方法
这里面主要是对于应用域属性的存取
删除的方法
我们就不一一介绍了
下面我们介绍一下page和config对象
page对象
它指的是JSP页面这样一个对象
它的含义是 JSP翻译以后
编译形成的servlet
在代码当中我们看到它使用this来表示
它的类型是
HttpJspPage
它的功能可以直接调用
Servlet接口当中的一些方法
config对象
它代表的是JSP页面的配置对象
它的含义是 JSP翻译后
编译以后的Servlet所对应的
ServletConfig对象
它的类型是
ServletConfig
它可以调用
ServletConfig这个接口当中的
所有方法
简单的来说
page对象
对应的类就是Servlet
config对应对象
对应的类就是ServerConfig
下面我们介绍一下
exception对象
exception对象表示
JSP界面产生的异常
我们用下面的代码来说明这个对象的使用
我们先看左边这个页面的代码
在左边的页面代码当中
我们人为的
设计了一个可以产生异常的表达式
也就是说我们做了一个除法
除法的分母为0
那么它肯定要出现异常
那么在page指令当中
有一个属性叫做errorPage
这个属性来指明
当页面出现异常的时候
交给哪个页面来处理
这里面指明了交给
error.jsp页面来处理
那么也就是右边代码
那么在页面代码当中我们看一下
在page指令当中有一个属性
叫做isErrorPage配置
我们要把这个值设置为true
也就是说这个页面是用来处理
出现异常的页面
那么怎么来处理呢
这是下面这种代码来写的
它是通过调用 exception
这个对象它的
printStackTrace 方法
将错误信息打印出来
接下来我们介绍一下
pageContext对象
这个对象代表的是页面的上下文
表示当前的页面的运行环境
它的类型是pageContext
下面我们简单介绍一下
pageContext对象常用的方法
在这个表格当中
我们看一下
这里的方法
主要是用于获取其他8个内置对象的方法
获取Request
Response
Session
ServletContext
Page
getServletConfig
还有下边的Out
还有Exception
也就是说我们可以通过pageContext对象
得到其他8个内置对象
pageContext对象
它的方法
除了刚才我们看到的还有
这样几个常用的方法
这几个方法主要是关于在配置域
进行属性的存 取以及删除的方法
在下面还有一个
gatAttributeNameslnScope
这样一个方法
那么这个方法它的作用是什么呢
它的作用是从scope这个范围
获取所有的属性名
这样一个方法
那么这个scope到底有哪些范围呢
它有4个范围
第1个范围叫做PAGE SCOPE
是指页面域
第2个是
REQUEST SCOPE
代表的是请求域
下面是会话域
还有一个是应用域
接下来我们来介绍JSP的作用域
在JSP页面当中
隐含对象或者说内置对象和用户定义的对象
都处于4个作用域当中
这个作用域它的意思是表明对象的
生命周期和可访问性
我们已经知道这个作用域
包含哪4个呢
页面域
请求域 会话域和应用域
那么对于页面域
它所对应对象是page
存在性和访问性主要是指
只在当前的页面中有效
请求域对应的对象是request
它在请求转发和include的时候
是有效的
会话域对应的对象是session
在用户会话的范围内有效
最后一个是应用域
对应的对象是application
是在Web应用
整个范围内都是有效的
接下来我们看一个例子
那么这个例子是在请求依据当中的一个应用
用户登录
在Servlet当中
我们编写这样一些代码
下面我把这个代码给大家做一个简单的介绍
首先我们new一个user
这个user应该是一个类
然后通过 request
它的getParameter的方法
能得到提交的用户名
提交的password
将这个值放在user里面去
然后将user放在请求域当中
也就是说通过调用
request.setAttribute 方法
将user这个值放在请求域当中
接下来这个代码是实现请求的转发
那么转发到一个JSP页面上面去
那么在JSP页面当中
我们通过request对象
调用它的getAttribute方法
得到请求域当中的user
一定要注意这个user
和刚才我们存的时候user
在编写代码的时候必须是完全一致
返回去值
我们需要做一个强制类型的转换
接下来我们要通过if语句来判断一下
user是否有效
这个代码我这里已经略去了
如果这个user是有效的user
那么它接下来做的什么事情
我们看一下
在请求域当中把user删除
然后它会把user放在
session里面
那么这是一个登录的
那么登录成功以后
我们就要把用户信息
放在session里面
而不能放在请求域当中了
接下来通过pageContext对象
实现一个转发
转发到这样一个JSP页面上面去
如果这个user是无效的
那么所做的事情就是
通过pageContext
实现转发
那么转发到另外的一个JSP页面上去
接下来我们再看一个例子
那么这个例子是在会话域
一个应用
用来实现一个购物车的功能
在Servlet当中
我们首先得到一个session对象
然后在session对象当中
我们通过getAttribute
从会话域当中取cart这样一个
属性出来
cart我们在这里面认为
它就是购物车了
然后在这里面要做一个类型的转换
接下来代码就是判断cart对象是否为空
如果为空的话
就是说在会话域当中没有购物车
如果为空的话
那么它所做的事情就是
我要new出来一个购物车
new出来以后
把这购物车放在session当中
它所调用的方法就是
setAttribute
如果
从session当中取到的购物车是不为空
就是说在会话域当中确实存在一个
名为cart的属性
那么它所做的事情就是
向cart中存了一个货物
或者叫商品
接下来那个代码就是实现重定向
把它重定向到另外一个JSP页面上面去
那么我们看一下JSP页面
在JSP页面上面
我们首先通过session
内置对象
调用它的getAttribute
这个名一定要注意是和
set的时候这个名字是
必须是完全一致的
取出来购物车
然后做一个类型的转换
接下来通过内置对象out
将购物车当中的商品打印出来
好
这一小节我们就讲到这里 再见
-1.0 导学
--1.0.1 导学
-1.1 Web应用开发概述
--1.1.3 测试
-1.2 准备Java Web应用开发环境
--1.2.2 测试
-1.3 任务实现:Hello World Web项目
--1.3.2 测试
-1.4 小结
--1.4.1 小结
-本课程所有代码
--课程参考代码
-2.0 导学
--2.0.1 导学
-2.1 Servlet概述
--2.1.3 测试
-2.2 创建Servlet
--2,2,3 作业
-2.3 Servlet应用
--2.3.4 测试
-2.4 任务实现:某高校毕业生信息发布系统-注册与登录(Servlet版)
--2.4.3 测试
-2.5 ServletConfig接口
-2.6 ServletContext接口
-2.7 HttpServletRequest接口
--2.7.5 测验
-2.8 HttpServletResponse接口
--2.8.3 测试
-2.9 任务实现:某高校毕业生信息发布系统-简历添加
--2.9.1 任务实现:某高校毕业生信息发布系统-简历添加
-2.10 小结
-动画演示:Java Web应用服务器处理客户端请求的过程
-3.0 导学
--3.0.1 导学
-3.1 Cookie技术
--3.1.3 测试
-3.2 Session技术
--3.2.2 Session技术-Session技术应用购物车
--3.2.3 测试
-3.3 URL重写与隐藏表单域
--3.3.2 测试
-3.4 任务实现:某高校毕业生信息发布系统-简历修改
--3.4.1 任务实现:某高校毕业生信息发布系统-简历修改
-3.5 小结
--3.5.1 小结
-4.0 导学
-4.1 jsp概述
--4.1.2 测试
-4.2 脚本元素
--4.2.2 测试
-4.3 指令元素
--4.3.2 测试
-4.4 动作元素
--4.4.3 测试
-4.5 内置对象
--4.5.3 测试
-4.6 JavaBean
--4.6.3 测试
-4.7 任务实现:某高校毕业生信息发布系统-首页(JSP版)
--4.7.1 任务实现:某高校毕业生信息发布系统-首页(JSP版)
-4.8 小结
--4.8.1 小结
-5.0 导学
--5.0.2 测试
-5.1 el语法
--5.1.2 测试
-5.2 el隐含对象
--5.2.2 测试
-5.3 任务实现:某高校毕业生信息发布系统-学生详细信息展示
--5.3.1 任务实现:某高校毕业生信息发布系统-学生详细信息展示
--5.3.2 测试
-5.4 小结
--5.4.1 小结
-6.0 导学
--6.0.2 测试
-6.1 核心标签库
--6.1.5 测试
-6.2 任务实现:某高校毕业生信息发布系统-首页(JSTL版)
--6.2.1 任务实现:某高校毕业生信息发布系统-首页(JSTL版)
--6.2.2 测试
-6.3 小结
--6.3.1 小结
-7.0 导学
--7.0_导学
-7.1 过滤器
--7.1.3 测试
-7.2 监听器
--7.2.1.1与ServletContext相关的监听器
--7.2.4 测试
-7.3 任务实现:某高校毕业生信息发布系统-单态登录
--7.3.1 任务实现:某高校毕业生信息发布系统-单态登录
--7.3.2 测试
-7.4 小结
--7.4.1小结
-8.0 导学
--8.0_导学
-8.1 JDBC API
--8.1.2 测试
-8.2 JDBC API访问MySQL基本步骤
--8.2.2 测试
-8.3 任务实现:某高校毕业生信息发布系统-注册与登录
--8.3.1 任务实现:某高校毕业生信息发布系统-注册与登录(JDBC版)
--8.3.2 测试
-8.4 小结
--8.4.1小结
-9.0导学
--9.0导学
-9.1 技术准备
--9.1.5 测试.
-9.2 系统设计
-9.3 系统实现
-9.4 小结
--9.4.1小结


