1.内置对象类型作用域
- request javax.servlet.http.HttpServletRequest request
- response javax.servlet.http.HttpServletResponse response
- pageContext javax.servlet.jsp.PageContext page
- session javax.servlet.http.HtpSession session
- application javax.servlet.jsp.ServletContext application
- out javax.servlet.jsp.JspWriter page
- config javax.servlet.ServletConfig page
- page java.lang.Object page
- exception java.lang.Throwable page
2.根据它们的作用进行分类:
- 第一类:与Servlet有关:page和config
- 第二类:与Input/Output有关:out,request和response
- 第三类:与Context有关:application,session和pageContext
- 第四类:与Error有关:exceptio
3.对象作用范围:
- page:就是设置的属性只能在当前页面有效。通过pageContext的setAttribute()和getAttribute()。
- request:指属性在一次请求范围内有效。如果页面从给一个页面跳转到另一个页面,那么该属性就失效了。这里所指的跳转是指客户端跳转,比如客户单击超链接跳转到其他页面或者通过浏览器地址栏浏览其他页面。如果使用服务器端跳转<jsp:forward>,则该属性仍然生效。同理使用request对象的setAttribute()和getAttribute()。
- session:指客户浏览器与服务器一次会话范围内,如果服务器断开连接,那么属性就失效了。同理通过session对象的setAttribute()和getAttribute()。session范围的例外比如重新打开一个浏览器。
- application:指在整个服务器范围,知道服务器停止以后才会失效。同理通过application对象的setAttribute()和getAttribute()。application范围就是保存的属性只要服务器不重启,就能在任意页面中获取,就算重新打开浏览器也是可以获取属性的。
4.9大对象方法说明:
(1)request对象
- 客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,
- 然后做出响应。它是HttpServletRequest类的实例。
- objectgetAttribute(Stringname)返回指定属性的属性值
- EnumerationgetAttributeNames()返回所有可用属性名的枚举
- StringgetCharacterEncoding()返回字符编码方式
- intgetContentLength()返回请求体的长度(以字节数)
- StringgetContentType()得到请求体的MIME类型
- ServletInputStreamgetInputStream()得到请求体中一行的二进制流
- StringgetParameter(Stringname)返回name指定参数的参数值
- EnumerationgetParameterNames()返回可用参数名的枚举
- String[]getParameterValues(Stringname)返回包含参数name的所有值的数组
- StringgetProtocol()返回请求用的协议类型及版本号
- StringgetScheme()返回请求用的计划名,如:http.https及ftp等
- StringgetServerName()返回接受请求的服务器主机名
- intgetServerPort()返回服务器接受此请求所用的端口号
- BufferedReadergetReader()返回解码过了的请求体
- StringgetRemoteAddr()返回发送此请求的客户端IP地址
- StringgetRemoteHost()返回发送此请求的客户端主机名
- voidsetAttribute(Stringkey,Objectobj)设置属性的属性值
- StringgetRealPath(Stringpath)返回一虚拟路径的真实路径
(2)session对象
session对象指的是客户端与服务器的一次会话,从客户连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止。它是HttpSession类的实例.
序号方法说明
- longgetCreationTime()返回SESSION创建时间
- publicStringgetId()返回SESSION创建时JSP引擎为它设的惟一ID号
- longgetLastAccessedTime()返回此SESSION里客户端最近一次请求时间
- intgetMaxInactiveInterval()返回两次请求间隔多长时间此SESSION被取
- String[]getValueNames()返回一个包含此SESSION中所有可用属性的数组
- voidinvalidate()取消SESSION,使SESSION不可用
- booleanisNew()返回服务器创建的一个SESSION,客户端是否已经加入
- voidremoveValue(Stringname)删除SESSION中指定的属性
- voidsetMaxInactiveInterval()设置两次请求间隔多长时间此SESSION被取消(ms)
(3)out对象
out对象是JspWriter类的实例,是向客户端输出内容常用的对象;
序号方法说明
- voidclear()清除缓冲区的内容
- voidclearBuffer()清除缓冲区的当前内容
- voidflush()清空流
- intgetBufferSize()返回缓冲区以字节数的大小,如不设缓冲区则为0
- intgetRemaining()返回缓冲区还剩余多少可用
- booleanisAutoFlush()返回缓冲区满时,是自动清空还是抛出异常
- voidclose()关闭输出流
(4)page对象
page对象就是指向当前JSP页面本身,有点象类中的this指针,它是java.lang.Object类的实例序号方法说明
- classgetClass返回此Object类
- inthashCode()返回此Object的hash码
- booleanequals(Objectobj)判断此Object是否与指定的Object对象相等
- voidcopy(Objectobj)把此Object拷贝到指定的Object对象中
- Objectclone()克隆此Object对象
- StringtoString()把此Object对象转换成String类的对象
- voidnotify()唤醒一个等待的线程
- voidnotifyAll()唤醒所有等待的线程
- voidwait(inttimeout)使一个线程处于等待直到timeout结束或被唤醒
- voidwait()使一个线程处于等待直到被唤醒
- voidenterMonitor()对Object加锁
- voidexitMonitor()对Object开锁
(5)application对象
application对象实现了用户间数据的共享,可存放全局变量。它开始于服务器的启动,直到服务器的关闭,在此期间,此对象将一直存在;这样在用户的前后连接或不同用户之间的连接中,可以对此对象的同一属性进行操作;在任何地方对此对象属性的操作,都将影响到其他用户对此的访问。服务器的启动和关闭决定了application对象的生命。它是ServletContext类的实例。
- ObjectgetAttribute(Stringname)返回给定名的属性值
- EnumerationgetAttributeNames()返回所有可用属性名的枚举
- voidsetAttribute(Stringname,Objectobj)设定属性的属性值
- voidremoveAttribute(Stringname)删除一属性及其属性值
- StringgetServerInfo()返回JSP(SERVLET)引擎名及版本号
- StringgetRealPath(Stringpath)返回一虚拟路径的真实路径
- ServletContextgetContext(Stringuripath)返回指定WebApplication的application对象
- intgetMajorVersion()返回服务器支持的ServletAPI的最大版本号
- intgetMinorVersion()返回服务器支持的ServletAPI的最大版本号
- StringgetMimeType(Stringfile)返回指定文件的MIME类型
- URLgetResource(Stringpath)返回指定资源(文件及目录)的URL路径
- InputStreamgetResourceAsStream(Stringpath)返回指定资源的输入流
- RequestDispatchergetRequestDispatcher(Stringuripath)返回指定资源的RequestDispatcher对象
- ServletgetServlet(Stringname)返回指定名的Servlet
- EnumerationgetServlets()返回所有Servlet的枚举
- EnumerationgetServletNames()返回所有Servlet名的枚举
- voidlog(Stringmsg)把指定消息写入Servlet的日志文件
- voidlog(Exceptionexception,Stringmsg)把指定异常的栈轨迹及错误消息写入Servlet的日志文件
- voidlog(Stringmsg,Throwablethrowable)把栈轨迹及给出的Throwable异常的说明信息写入Servlet的日志文件
(6)exception对象
exception对象是一个例外对象,当一个页面在运行过程中发生了例外,就产生这个对象。如果一个JSP页面要应用此对象,就必须把isErrorPage设为true,否则无法编译。他实际上是java.lang.Throwable的对象
- StringgetMessage()返回描述异常的消息
- StringtoString()返回关于异常的简短描述消息
- voidprintStackTrace()显示异常及其栈轨迹
- ThrowableFillInStackTrace()重写异常的执行栈轨迹
(7)pageContext对象
pageContext对象提供了对JSP页面内所有的对象及名字空间的访问,也就是说他可以访问到本页所在的SESSION,也可以取本页面所在的application的某一属性值,他相当于页面中所有功能的集大成者,它的本类名也叫pageContext。
- JspWritergetOut()返回当前客户端响应被使用的JspWriter流(out)
- HttpSessiongetSession()返回当前页中的HttpSession对象(session)
- ObjectgetPage()返回当前页的Object对象(page)
- ServletRequestgetRequest()返回当前页的ServletRequest对象(request)
- ServletResponsegetResponse()返回当前页的ServletResponse对象(response)
- ExceptiongetException()返回当前页的Exception对象(exception)
- ServletConfiggetServletConfig()返回当前页的ServletConfig对象(config)
- ServletContextgetServletContext()返回当前页的ServletContext对象(application)
- voidsetAttribute(Stringname,Objectattribute)设置属性及属性值
- voidsetAttribute(Stringname,Objectobj,intscope)在指定范围内设置属性及属性值
- publicObjectgetAttribute(Stringname)取属性的值
- ObjectgetAttribute(Stringname,intscope)在指定范围内取属性的值
- publicObjectfindAttribute(Stringname)寻找一属性,返回起属性值或NULL
- voidremoveAttribute(Stringname)删除某属性
- voidremoveAttribute(Stringname,intscope)在指定范围删除某属性
- intgetAttributeScope(Stringname)返回某属性的作用范围
- EnumerationgetAttributeNamesInScope(intscope)返回指定范围内可用的属性名枚举
- voidrelease()释放pageContext所占用的资源
- voidforward(StringrelativeUrlPath)使当前页面重导到另一页面
- voidinclude(StringrelativeUrlPath)在当前位置包含另一文件
(8)config对象
config对象是在一个Servlet初始化时,JSP引擎向它传递信息用的,此信息包括Servlet初始化时所要用到的参数(通过属性名和属性值构成)以及服务器的有关信息(通过传递一个ServletContext对象)
以上就是极悦小编介绍的"JSP内置对象及方法详细",希望对大家有帮助,想了解更多可查看JSP教程,如有疑问,请在线咨询,有专业老师随时为您服务。