定义:WEB容器创建的一组对象,不需要使用new就可以使用的·内置对象。
九大常用的内置对象:out,request,response,session,application,Page,pageContext,config,exception。
Web程序响应模式:用户发送请求(request)
服务器给用户响应(response)
out对象: 缓冲区:内存的一块区域用来保存临时数据。
IO输出最原始的输出就是一个字节一个字节的输出。
常用的方法:void clear():清除缓存区,如果在flush之后调用会抛出异常。
void clearBuffer():清除缓存区,在flush之后不会抛出异常。
boolean isAutoFlush():缓冲区满时,是自动清空还是抛出异常。
requset对象:客户端请求的信息封装在request对象中,它是HttpServletRequest类的实例,完成客户端请求之前,该对象一直有效。
常用的方法:String getParameter(String name ):返回name指定的参数值
String getParameterValues(String name):返回name指定参数的所有值数组
void setAttribute(String,Object):存储此请求中的属性
object getAttribute():返回指定属性的属性值
String getContentType():得到请求体的MIME类型
String getProtocol():返回请求用的协议及版本号
String getServername():返回接受服务器的主机名
int getServerPort():返回服务器接受此请求所用的端口号
String getCharacterEncoding():返回编码方式
void setCharacterEncoding():设置请求的编码方式
int getContentLength():返回请求体的长度
String getRemoteAddr():返回发送此请求的客户端IP地址
String getRealPath():返回虚拟路径的真实路径
String request..getContentPath():返回上下文路径
reponse对象:包含了响应客户请求的信息,但在JSP中很少直接用到它,它是HttpServletReponse类的实例,reponse对象具有页面作用域,即:访问一个页面时,该页面内的reponse对象只对这次访问有效,其他页面的reponse的对象对当前页面无效。
常用方法:String getCharacterEncoding():返回响应用的是何种编码
void setContentType():设置相应的MIme类型
PrintWriter getWriter():返回可以向客户端输出字符的一个对象
sendRedirect():重新定向客户端的请求
session对象:session表示客户端与服务器的一次会话,
Web中的session指的是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,
服务器内存中保存着不同用户的session
在第一个JSP页面装载时被创建,完成会话期管理
是HttpSession类的对象
常用方法:String getID():返回session创建时JSP引擎为它设的唯一id
String[] getValueNames():返回一个包含此session中所有可用属性的数组
int getMaxInvctiveInterval():返回两次请求间隔多长时间session被取消(单位:秒)
生命周期:当客户端第一次访问某个jsp或者servlet时,服务器会为当前会话创建一个sessionID,每次向服务器发送请求时,都会将此ID带过去,服务器端进行校验
活动:1.某次会话通过超链接打开的新页面属于同一次会话
2.只要当前会话页面没有完全关闭,重新打开新的浏览器窗口访问同一项目资源属于同一次会话
3.除非本次会话页面都关闭后,再重新访问某个jsp或者servlet将会创建新的会话。
注意事项:注意原有的会话id仍存在于服务器端,只不过再也没有客户端携带它和服务器校验。
session销毁:调用invalidate()方法
session过期
服务器重启
session对象默认销毁时间为30分钟
设置销毁时间的方法:1.session.setMaxInactiveInterval()
2.在web.xml中配置:
<session-config>
<session-timeout>
10
</session-timeout>
<session-config>单位是分钟
application对象:1.实现了用户间的数据共享,可存放全局变量
2.开始于服务器启动,终止于服务器关闭
3.在用户的前后连接中或者不同用户之间的连接中,都可以对application对象的同一属性进行操作。
4.在任何地方对application对象属性的操作,都将影响到其他用户对它访问
5是ServerContext类的实例
常用方法:Enumeration getAttributeNames() 返回所有属性名的枚举
String getServerInfo():返回JSP(servlet)引擎名及版本号
page对象:指向当前jsp页面本身,有点类似于this中的指针,它是Object类的实例。
常用方法:和Object方法一样。
pageContext对象:1.提供了对JSP页面内所有对象及名字空间的访问
2.可以访问到本页所在的session,也可以取本页所在的application的属性值
3.相当于页面所有功能的集大成者
4.pageContext对象的本类名也叫pageContext。
常用方法:JspWriter getOut():返回当前客户端响应被使用的JspWriter流。
Object getAttribute(String name,int scope):返回指定范围属性的值
int getAttributeScope(String name):返回某属性的作用范围
void forward(String relativeUrlPath):使当前页面重导到另一页面。
void include(String relativeURLpath):在当前位置包含另一文件
Object getPage():返回当前页的Object对象
Config对象:是在一个servlet初始化时,jsp引擎向她传递信息用的,此信息包括servlet初始化时所用到的参数(通过属性名和属性值构成)以及服务器有关的信息(通过传递一个ServletContext对象)
常用方法:ServletContext getServletContext():返回服务器相关信息的ServletContext对象
String getInitParameter(String name):返回初始化参数值
Enumeration getInitParameter'Names(String name):返回初始化servlet所需所有参数的枚举
exception对象:是一个异常对象,当一个页面产生异常,就产生了这个对象,如果JSP页面要应用此对象,必须把isErrorPage设置为true,否则无法编译,它实际上是java.lang.Throwable的对象
常用方法:String getMessage():返回描述异常的消息
String toString():返回关于异常的简短消息
void printStackTrace():返回异常及其栈轨迹
Throwable FillInStackTrace():重写异常执行的栈轨迹