当前位置 : 主页 > 编程语言 > java >

JavaWeb开发专题(九)-JSP内置对象

来源:互联网 收集:自由互联 发布时间:2022-07-04
1.内置对象概述 内置对象:不需要手动声明,就可以使用的对象,称为内置对象; JSP一共有9个内置的对象,如下: 对象名 类型 说明 request javax.servlet.http.HttpServletRequest response javax.serv

1.内置对象概述

内置对象:不需要手动声明,就可以使用的对象,称为内置对象;
JSP一共有9个内置的对象,如下:

对象名

类型

说明

request

javax.servlet.http.HttpServletRequest

response

javax.servlet.http.HttpServletResponse

session

javax.servlet.http.HttpSession

由session=“true”开关

application

javax.servlet.ServletContext

exception

java.lang.Throwable

由isErrorPage=“false”开关

page

java.lang.Object

当前servlet实例

config

javax.servlet.ServletConfig

pageContext

javax.servlet.jsp.JspWriter

out

javax.servlet.jsp.PageContext

javax.servlet.jsp.JspWriter

查看JSP翻译之后的源码的确可以看到这9个内置对象:
JavaWeb开发专题(九)-JSP内置对象_javaout对象:JspWriter类型,负责页面数据输出
response对象:HttpServletResponse类型,负责响应浏览器的请求
request对象:HttpServletRequest类型,负责接收浏览器发送过来的请求参数,例如表单的信息…
session对象:HttpSession类型,负责封装用户请求会话的相关信息,例如用户的登录状态…
application对象:ServletContext类型,负责封装WEB应用相关应用
pageContext对象:PageContext类型,封装网页属性相关信息
page对象: Object类型,封装当前JSP页面信息
config对象: ServletConfig类型,封装了JSP的配置
exection对象: thowable类型,封装JSP的异常信息

2.Out对象

是JspWriter类型字符流
out和 response.getWriter() 不是同一个流
out流 和 response.getWriter() 都是字符流 都有缓冲区
out流的执行是 先把 缓冲区中的内容 输出到 response.getWriter()的缓冲区中,再由response.getWriter() 这个流统一输出。

示例代码:
JavaWeb开发专题(九)-JSP内置对象_封装_02

3.pageContext对象

3.1.域对象

可以操作其他三个域对象(request,session,application)的数据

常用方法:
void setAttribute(String name,Object o);
Object getAttribute(String name);
void removeAttribute(String name);


操作其它域对象的方法:
void setAttribute(String name,Objecto,int Scope);
Object getAttribute(String name,intScope);
void removeAttribute(String name,intScope);

Scope作用域,值如下:
PageContext.PAGE_SCOPE
PageContext.REQUEST_SCOPE
PageContext.SESSION_SCOPE
PageContext.APPLICATION_SCOPE

findAttribute(Stringname)自动从page,request ,session ,application依次查找,
找到了就取值,结束查找 (作用域的范围由小到大)

3.2.它可以创建其它的8个隐式对象

在普通类中可以通过PageContext获取其它JSP隐式对象,具体如下:

getException方法返回exception隐式对象
getPage方法返回page隐式对象
getRequest方法返回request隐式对象
getResponse方法返回response隐式对象
getServletConfig方法返回config隐式对象
getServletContext方法返回application隐式对象
getSession方法返回session隐式对象
getOut方法返回out隐式对象

3.3. 提供了简易方法

pageContext.forward(“2.jsp”);
pageContext.include(“2.jsp”);

3.4.代码示例

pageContext.setAttribute("pageKey", "pageValue",PageContext.PAGE_SCOPE);
//pageContext.setAttribute("pageKey", "pageValue")

pageContext.setAttribute("requestKey","requestValue",PageContext.REQUEST_SCOPE);
//request.setAttribute("requestKey","requestValue");

pageContext.setAttribute("sessionKey","sessionValue",PageContext.SESSION_SCOPE);
//sessionsetAttribute("sessionKey","sessionValue");

pageContext.setAttribute("applicationKey","applicationValue",PageContext.APPLICATION_SCOPE);
//application.setAttribute("applicationKey","appicationValue");

4.request对象

_jspService方法的参数 HttpServletRequest类型。用法与Servlet中的request用法相同

5.response对象

_jspService方法的参数 HttpServletResponse类型。用法与Servlet中的response用法相同

6.session对象

HttpSession类型

7.application对象

ServletContext类型,用法和Servlet中的ServletContext用法相同

8.config对象

ServletConfig类型,用法和Servlet中的ServletConfig用法相同

9.page对象

JavaWeb开发专题(九)-JSP内置对象_java_03
this指的是当前的Servlet的实例,由于该对象被赋值给了Object类型,如果使用需要进行向下转型
但是,后期一般我们不去直接使用这个对象,往往会把这个对象当成第4个作用域来使用。
使用PageContext对象来操作page作用域中的数据
page作用域中的数据,只能在当前页面中使用,它的作用范围是当前的servlet,转发之后不能获取page域中的数据。
JavaWeb开发专题(九)-JSP内置对象_作用域_044个作用域的关系

application > session > request > page(仅当前页面(Servlet)中可以使用)

10.exception对象

Throwable类型,只有当jsp的isErrorPage="true"时,才会出现该对象。


上一篇:#yyds干货盘点# 解决名企真题: 序列找数
下一篇:没有了
网友评论