您的位置:首页 > Web前端 > JavaScript

JSP内置对象简介

2017-07-07 00:00 274 查看
JSP九大内置对象:
out request response session application page pageContext config exception

out:
一、什么是缓冲区
1、缓冲区:Buffer,所谓缓冲区就是内存的一块区域,用来保存临时数据
2、IO输出最原始的就是一个字节一个字节输出,效率很低。缓冲区可以先将多个字节读出来,再一次性的输出,提高效率
二、out对象
1、out对象是JspWriter类的实例,是向客户端(这里指浏览器)输出内容的常用对象。
2、常用方法:
· void println()向客户端打印字符
· void clear()清除缓冲区的内容。如果在flush之后调用,会抛出异常
· void clearBuffer() 也是清除缓冲区内容,但在flush之后不会抛出异常
· void flush()将缓冲区内容输出到客户端
· int getBufferSize()返回缓冲区的大小(字节数),如不设缓冲区则为0
· int getRemaining()返回缓冲区还剩余多少可用
· boolean isAutoFlush()返回缓冲区满时,是否自动清空缓冲区
· void close()关闭输出流

request response
请求转发与请求重定向的区别:
请求重定向:客户端行为,response.sendRedirect(),从本质上讲等同于两次请求,前一次的请求对象不会保存,地址栏的URL地址会改变。
请求转发:服务器行为,request.getRequestDispatcher.forward(req,resp);是一次请求,转发后请求对像会保存,地址栏的URL地址不会改变。

session:
session表示客户端与服务器的一次会话;
Web中的session指的是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间;
从上述定义中可以看到,session实际上是一个特定的时间概念;
(1)session是JSP的一个内置对象,是HttpSession类的实例。
(2)从客户打开浏览器并连接到服务器开始,到客户关闭浏览器窗口断开与服务器的连接,这一过程成为一个会话。
(3)当客户在同一个网站的不同页面之间进行切换并访问时,服务器是通过session来判断这些请求是否来自同一个客户。
(4)session一般有时间限制,长时间不操作可能会导致session失效。session失效后原session中保存的属性值会全部丢失。
(5)setMaxInactiveInterval(int i) 该方法可直接设定session的生存时间,超过该时间session会重新创建。(单位:秒)
-------------------------------
session对象的常用方法有:
long getCreationTime() : 返回session的创建时间;
public String getId() : 返回session的唯一ID号(该ID在session生成时,由JSP引擎创建)
public Object setAttribute(String name,Object value) : 按照键值对的方式在该session会话中保存一个属性(该属性是一个对象类型)
public Object getAttribute(String name) : 返回指定名称的属性的值(如果该名称的属性不存在,则返回null)
String[] getValueNames() : 返回一个(包含在此session中所有可用属性)的数组。
int getMaxInactiveInterval() : 返回一个时间,该时间表示当前session间隔多少时间之后会失效(单位:秒)。

设置session超时时间(Tomcat默认session超时时间为30分钟)
在web.xml配置
<session-config>
<session-timeout>
10
</session-timeout>
</session-config>//单位是分钟

application对象,该对象可被不同用户共享,它是属于服务器的不属于某个项目,在任何地方都可以访问它,用户修改了对象中的某个属性会影响到其他用户访问。其他用户访问的就是你修改后的属性值。该对象的生存周期是是从服务器开始启动,到关闭服务器结束。主要的方法有setAttribute(),getAttribute()若其中不存在该属性名则返回null,还可以获取application中的所有的属性用getAttributeNames()获取枚举数据是Enumeration对象,遍历用while循环用hasElement()若为true说明还有元素,用nextElement()获取该元素 将 。还可以获取jsp的引擎名称getServe().
page对象指的是当前的页面,page中常用的方法是getClass()获取object的类型,toString()将object的类转换成String类,copy(Object obj)当前的object复制到指定的object中, clone(Object obj)当前的object克隆到指定的object中,hashCode()获取hash码。
pageContext()对象范围最大它可以获取session,request,response对象也可以获取getout()获得一个输出流对象,forword(网页名称)转发到指定的网页中,并且url不会发生变化,include(网页名称)是当前页面可包含指定页面,指定页面中去掉html代码,这样就会在使用该方法的位置输出指定页面的内容。
exxeprion对象,是处理错误的,当当前的页面出现错误是聚会创建一个这样的对象,一定要注意将该页面的isErrorpage设为true.否则会有编译不通过,可以通过errorpage=网页名称当当前网页出现错误时,会交到指定的页面中处理,可通过getMessage()获取错误信息,也可通过toString()获取错误信息的描述。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  jsp 内置对象 session out