jsp 九大内置对象 和 四大作用域

jsp九大内置对象分为四类

  • 输入输出类对象:out对象,response对象,request对象
  • 通信控制对象:pagecontext对象,session对象,application对象
  • Servlet对象,page对象,config对象
  • 错误处理类对象:exception对象

jsp 四大作用域

page范围:只在一个页面保留数据(javax.servlet.jsp.PageContext(抽象类))

request范围:只在一个请求中保存数据(javax.servlet.httpServletRequest)

Session范围:在一次会话中保存数据,仅供单个用户使用(javax.servlet.http.HttpSession)

Application范围:在整个服务器中保存数据,全部用户共享(javax.servlet.ServletContext)

对象功能简介

    out对象:用于向客户端、浏览器输出数据。
    request对象:封装了来自客户端、浏览器的各种信息。
    response对象:封装了服务器的响应信息。
    exception对象:封装了jsp程序执行过程中发生的异常和错误信息。
    config对象:封装了应用程序的配置信息。
    page对象:指向了当前jsp程序本身。
    session对象:用来保存会话信息。也就是说,可以实现在同一用户的不同请求之间共享数
    application对象:代表了当前应用程序的上下文。可以在不同的用户之间共享信息。
    pageContext对象:提供了对jsp页面所有对象以及命名空间的访问。

1.page对象
page对象有点类似与java编程中的this指针,他指向了当前jsp页面本身。
page对象是java.lang.object类的一个实例
page对象拥有一个toString方法,下面是官方定义的方法介绍:

public String toString() {
    return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
包名+类名+@+hashcode值

request对象的方法:

方法名说明
isUserInRole判断认证后的用户是否属于某一成员组
getAttribute获取指定属性的值,如该属性值不存在返回Null
getCookies获取所有Cookie对象
getAttributeNames获取所有属性名的集合
getCharacterEncoding获取请求的字符编码方式
getContentLength返回请求正文的长度,如不确定返回-1
getHeader获取指定名字报头值
getHeaders获取所有报头的名字,一个枚举
getInputStream返回请求输入流,获取请求中的数据
getMethod获取客户端向服务器端传送数据的方法
getParameter获取指定名字参数值
getParameterNames获取所有参数的名字,一个枚举
getParameterValues获取指定名字参数的所有值
getProtocol获取客户端向服务器端传送数据的协议名称
setAttribute设置指定名字参数值
removeAttribute删除请求中的一个属性
getServerPort获取服务器的端口号
getServerPath获取客户端请求文件的路径
getServerName获取服务器的名字
getSession获取和请求相关的会话
getRemoteHost获取客户端的名字
getRemoteAddr获取客户端的IP地址
getRequestURI获取发出请求字符串的客户端地址
getQueryString获取以get方法向服务器传送的查询字符串

3.session对象
session对象:是一个jsp内置对象,它在第一个jsp被装载时自动创建,完成会话期管理。从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离 开这个服务器结束(或者超时),被称为一个会话。当一个客户访问一个服务器时,可能会在这个服务器的几个页面之间切换,服务器应当通过某种办法知道这是一个客户,就需要创建session对象。

http是无状态的连接协议,需要使用session来存放用户每次的登陆信息

方法名说明
getAttribute获取指定名字的属性
getAttributeNames获取session中全部属性名字,一个枚举
getCreationTime返回session的创建时间
getId获取会话标识符
getLastAccessedTime返回最后发送请求的时间
getMaxInactiveInterval返回session对象的生存时间单位千分之一秒
invalidate销毁session对
isNew每个请求是否会产生新的session对象
removeAttribute删除指定名字的属性
setAttribute设定指定名字的属性值

4.application对象
application对象代表当前的应用程序。存在于服务器的内存空间中。
应用一旦启动便会自动生成一个application对象。如果应用没有被关闭,
此application对象便一直会存在。直到应用被关闭
application的生命周期比session更长。
应用:
为多个用户共享全局信息。比如当前的在线人数等。
application对象方法:

方法名说明
getAttribute获取应用对象中指定名字的属性值
getAttributeNames获取应用对象中所有属性的名字,一个枚举
getInitParameter返回应用对象中指定名字的初始参数值
getServletInfo返回Servlet编译器中当前版本信息
setAttribute设置应用对象中指定名字的属性值

可以使用application对象来实现页面访问次数记录的功能:

<%
    Object obj=application.getAttribute("counter");
    if (obj==null){
        application.setAttribute("counter",new Integer(1));
        out.println("该页面被访问了1次<br/>");
    }else {
        int countValue=new Integer(obj.toString());
        countValue++;
        out.println("该页面被访问了"+countValue+"次<br/>");
        application.setAttribute("counter",countValue);//java会自动装箱
 
    }
%>

5.out对象
out对象是一个输出流,用来向浏览器输出信息,除了输出各种信息外还负责对缓冲区进行管理。

out对象方法介绍:

方法名说明
print或println输出数据
newLine输出换行字符
flush输出缓冲区数据
close关闭输出流
clear清除缓冲区中数据,但不输出到客户端
clearBuffer清除缓冲区中数据,输出到客户端
getBufferSize获得缓冲区大小
getRemaining获得缓冲区中没有被占用的空间
isAutoFlush是否为自动输出

6.response对象
response对象主要用于对客户端的请求进行回应。
以及处理http的连接信息,例如设置http文件头,设置cookie对象等。

response对象方法:

方法名说明
addCookie添加一个Cookie对象
addHeader添加Http文件指定名字头信息
containsHeader判断指定名字Http文件头信息是否存在
encodeURL使用sessionid封装URL
flushBuffer强制把当前缓冲区内容发送到客户端
getBufferSize返回缓冲区大小
getOutputStream返回到客户端的输出流对象
sendError向客户端发送错误信息
sendRedirect把响应发送到另一个位置进行处理
setContentType设置响应的MIME类型
setHeader设置指定名字的Http文件头信息

7.pageContext对象
pageContetx对象是jsp页面中所有对象功能的最大集成着。
使用他可以访问所有的jsp内置对象。

pageContext对象方法:

方法名说明
forward重定向到另一页面或Servlet组件
getAttribute获取某范围中指定名字的属性值
findAttribute按范围搜索指定名字的属性
removeAttribute删除某范围中指定名字的属性
setAttribute设定某范围中指定名字的属性值
getException返回当前异常对象
getRequest返回当前请求对象
getResponse返回当前响应对象
getServletConfig返回当前页面的ServletConfig对象
getServletContext返回所有页面共享的ServletContext对象
getSession返回当前页面的会话对象

8.exception对象
exception对象表示jsp引擎在执行代码时抛出的异常
如果想要使用exception对象,那么需要配置编译指令的isErrorPage属性为true

即在页面指令中设置:<%@page isErrorPage=“true”%>

getmessgage()返回exception对象的异常信息字符串
getlocaizedmessage()返回本地化的异常错误
tostring()返回关于异常错误的简单信息描述
fillinstacktrace()重写异常错误的栈的执行轨迹

9.config对象
表示当前jsp程序的配置信息,获取服务器的配置信息
一般项目中,jsp被用作模版技术,也就是位于表示层
而位于表示层的jsp文件一般是不需要配置信息的
所以此对象在jsp程序中其实很少使用
config对象是servletConfig类的一个实例。

config对象方法:

方法名说明
getServletContext返回所执行的Servlet的环境对象
getServletName返回所执行的Servlet的名字
getInitParameter返回指定名字的初始参数值
getInitParameterNames返回该JSP中所有的初始参数名,一个枚举

jsp内置对象总结:

Jsp内置对象功能主要方
out向客户端输出数据print() println() flush() clear() isAutoFlush() getBufferSize() close() …………
request向客户端请求数据getAttributeNames() getCookies() getParameter() getParameterValues() setAttribute() getServletPath() ……………
response封装了jsp产生的响应,然后被发送到客户端以响应客户的请求addCookie() sendRedirect() setContentType()flushBuffer() getBufferSize() getOutputStream()sendError() containsHeader()……………
application
config表示Servlet的配置,当一个Servlet初始化时,容器把某些信息通过此对象传递给这个ServletgetServletContext() getServletName() getInitParameter() getInitParameterNames()……………
pageJsp实现类的实例,它是jsp本身,通过这个可以对它进行访flush()………
pagecontext为JSP页面包装页面的上下文。管理对属于JSP中特殊可见部分中己经命名对象的该问forward() getAttribute() getException()getRequest() getResponse() getServletConfig()getSession()getServletContext() setAttribute()removeAttribute() findAttribute() ……………
session用来保存每个用户的信息,以便跟踪每个用户的操作状态getAttribute() getId() getAttributeNames() getCreateTime() getMaxInactiveInterval()invalidate() isNew()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JSP(Java Server Pages)是一种基于Java语言的服务器端网页开发技术,其中包括九大内置对象四大作用域九大内置对象是指在每一个JSP页面中,系统自动为开发者创建的九个对象,分别是: 1. request对象:用于获取HTTP请求的信息,如请求参数、请求头等。 2. response对象:用于设置HTTP响应的信息,如设置返回的内容、重定向等。 3. out对象:用于向客户端输出内容,可以通过该对象在页面中生成动态内容。 4. session对象:用于存储用户的会话信息,可以在不同的页面和请求之间共享数据。 5. application对象:用于存储全局的应用程序数据,可供所有用户访问。 6. config对象:用于获取当前JSP页面的配置信息,如JSP的初始化参数等。 7. page对象:代表当前JSP页面本身,可以用于调用页面的方法或属性。 8. exception对象:用于处理JSP页面中的异常,可以获取异常的相关信息。 9. pageContext对象:包含了对其他八个内置对象的引用,可用于简化代码的编写。 四大作用域是指在JSP中定义的存储数据的范围,分别是: 1. page作用域:数据的作用范围限定在当前JSP页面,即页面级别的作用域。 2. request作用域:数据的作用范围限定在一次HTTP请求与响应过程中,可供同一请求中的不同页面共享。 3. session作用域:数据的作用范围限定在用户的整个会话过程中,可供不同请求和页面共享。 4. application作用域:数据的作用范围限定在整个Web应用程序中,可供所有用户和所有请求共享。 通过合理的使用这九大内置对象四大作用域,可以方便地处理页面间的数据传递和数据共享,提高JSP网页开发的效率和灵活性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值