jsp内置对象和域对象

一、内置对象简介

名称 类型 描述

out javax.servlet.jsp.JspWriter 用于页面输出
request javax.servlet.http.HttpServletRequest 得到用户请求信息,
response javax.servlet.http.HttpServletResponse 服务器向客户端的回应信息
config javax.servlet.ServletConfig 服务器配置,可以取得初始化参数
session javax.servlet.http.HttpSession 用来保存会话的信息
Session=”false”,没有这个变量
application javax.servlet.ServletContext 所有用户的共享信息
page java.lang.Object 指当前页面转换后的Servlet类的实例
pageContext javax.servlet.jsp.PageContext JSP的页面容器
JSP中最小的域对象,作用范围仅仅是当前页面。
一般情况下,在jspService方法使用。
还没有一个jspService中定义的局部变量好用。
exception java.lang.Throwable 表示JSP页面所发生的异常,在错误页中才起作用
存的是请求转发来页面(上一个页面)的异常
isErrorPage=”true”
一共九个内置对象:
pageContext
request
session
application
page
response
config
out

exception

二、pagecontext对象

pageContext对象作用详解:
①JSP的最小域对象(没有用)
②查找作用域的值
pageContext.findAttribute(String name);  是从page作用域开始一路有小到大依次查找作用域中的属性值,如果能找到,就返回,找不到就去大一些的作用域中接着查找,如果application作用域也找不到,返回null


findAttribute()底层:


例如:pageContext.findAttribute(“msg”);
if(pageContext.getAttribute("msg")!=null){
return pageContext.getAttribute("msg");


}else if(request.getAttribute("msg")!=null){
return request.getAttribute("msg");


}else if(session.getAttribute("msg")!=null){
return session.getAttribute("msg");


}else if(application.getAttribute("msg")!=null){
return application.getAttribute("msg");


}else{
return null;
}
③获取其他八大内置对象【研发】
工具类专门操作jsp,获取九大内置对象,工具类九个形参
pageContext


<%
pageContext.setAttribute("name", "this is a name");

request.setAttribute("key", "value2");


application.setAttribute("key", "this is a value");
application.setAttribute("name", "zhangsan");
String v1 = (String) pageContext.findAttribute("name");
String v2 = (String) pageContext.findAttribute("key");
%>
<%= v1%>  this is a name
<%= "\r\n"%>
<%= v2%>  value2

三、servlet域对象(总结和比较)

由大到小依次为:
1. ServletContext:
作用范围:整个WEB项目的所有请求、所有会话
生命周期:
创建:服务器启动时
销毁:服务器关闭时
服务器内存中一个项目只有一个对象


2. HttpSession:
作用范围:一次会话【N多次请求】
生命周期:
创建:第一次调用getSession
销毁:①服务器关闭
 ②session过期
 ③主动销毁session


问题:浏览器关闭,session是否销毁?
Session还存在,只有上述三种情况会销毁session


正常情况下,一个会话对应一个session对象


3. HttpServletRequest:
作用范围:一次请求
生命周期:
创建:服务器接收到任意请求
销毁:服务器对这次请求进行响应

首先先从最小的开始看,如果满足需求,就直接使用,如果满足不了,就向大的再依次尝试。

四、jsp域对象(总结和比较)

PageContext常量名 描述     作用域名称 域对象类型
PageScope 当前页面中有效 pageContext  PageContext
RequestScope 一次请求范围 request     HttpServletRequest
SessionScope 一次会话范围 session     HttpSession
ApplicationScope 应用范围 application ServletContext


1 page:表示当前页,通常没用。jsp标签底层使用。
2 request:表示一次请求。通常一次请求就一个页面,但如果使用请求转发,可以涉及多个页面。
3 session:表示一次会话。可以在多次请求之间共享数据。
4 application:表示 一个web应用(项目)。可以整个web项目共享,多次会话共享数据。

pageContext作用域(了解、知道):
作用范围:当前页面
生命周期:
创建:JSP-Servlet 被实例化时。
销毁:jsp-Service方法执行完毕时

JSP从Request开始。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值