JSP内置对象--学习笔记
内置对象名称 |
所 属 类 型 |
有效范围 |
说 明 |
application |
javax.servlet.ServletContext |
application |
该对象代表应用程序上下文,它允许JSP页面与包括 在同一应用程序中的任何Web组件共享信息 |
config |
javax.servlet.ServletConfig |
page |
该对象允许将初始化数据传递给一个JSP页面 |
exception |
java.lang.Throwable |
page |
该对象含有只能由指定的JSP“错误处理页面”访问的 异常数据 |
out |
javax.servlet.jsp.JspWriter |
page |
该对象提供对输出流的访问 |
page |
javax.servlet.jsp.HttpJspPage |
page |
该对象代表JSP页面对应的Servlet类实例 |
pageContext |
javax.servlet.jsp.PageContext |
page |
该对象是JSP页面本身的上下文,它提供了唯一一组 方法来管理具有不同作用域的属性,这些API在实现 JSP自定义标签处理程序时非常有用 |
request |
javax.servlet.http.HttpServletRequest |
request |
该对象提供对HTTP请求数据的访问,同时还提供用 于加入特定请求数据的上下文 |
response |
javax.servlet.http.HttpServletResponse |
page |
该对象允许直接访问HttpServletReponse对象,可用 来向客户端输入数据 |
session |
javax.servlet.http.HttpSession |
session |
该对象可用来保存在服务器与一个客户端之间需要 保存的数据,当客户端关闭网站的所有网页时, session变量会自动消失 |
request、response和session是JSP内置对象中重要的3个对象,这3个对象体现了服务器端与客户端(即浏览器)进行交互通信的控制.在JSP内置对象中,pageContext,config,page及exception这些对象是不经常使用的.
request对象: 获取客户浏览器的请求
访问请求参数:
String userName = request.getParameter("name");//参数name与HTML标记name属性对应
在作用域中管理属性:
request.setAttribute("key", Object);//设置转发数据
request.getAttribute(String name);//获取转发数据
获取Cookie:
Cookie[] cookie = request.getCookies();//返回Cookie数组
request.addCookie(cookie_response);//添加Cookie对象
获取客户信息:
方 法 |
说 明 |
getHeader(String name) |
获得Http协议定义的文件头信息 |
getHeaders(String name) |
返回指定名字的request Header的所有值,其结果是一个枚举的实例 |
getHeadersNames() |
返回所有request Header的名字,其结果是一个枚举的实例 |
getMethod() |
获得客户端向服务器端传送数据的方法,如get,post,header,trace等 |
getProtocol() |
获得客户端向服务器端传送数据所依据的协议名称 |
getRequestURI() |
获得发出请求字符串的客户端地址 |
getRealPath() |
返回当前请求文件的绝对路径 |
getRemoteAddr() |
获取客户端的IP地址 |
getRemoteHost() |
获取客户端的机器名称 |
getServerName() |
获取服务器的名字 |
getServerPath() |
获取客户端所请求的脚本文件的文件路径 |
getServerPort() |
获取服务器的端口号 |
访问安全信息:
方 法 |
说 明 |
isSecure() |
返回布尔类型的值,它用于确定这个请求是否使用了一个安全协议,例如HTTP |
isRequestedSessionIdFromCookie() |
返回布尔类型的值,表示会话是否使用了一个Cookie来管理会话ID |
isRequestedSessionIdFromURL() |
返回布尔类型的值,表示会话是否使用URL重写来管理会话ID |
isRequestedSessionIdFromValid() |
检查请求的会话ID是否合法 |
访问国际化信息:
<%
java.util.Locale locale=request.getLocale();//获取web服务器所使用的本地语言
if(locale.equals(java.util.Locale.US)){
out.print("Welcome to BeiJing");
}
if(locale.equals(java.util.Locale.CHINA)){
out.print("北京欢迎您");
}
%>
response对象 :对客户浏览器进行响应
重定向网页:
方 法 |
说 明 |
sendError(int number) |
使用指定的状态码向客户发送错误响应 |
sendError(int number,String msg) |
使用指定的状态码和描述性消息向客户 发送错误响应 |
sendRedirect(String location) |
使用指定的重定向位置URL想客户发送 重定向响应,可以使用相对URL |
设置HTTP响应报头:
方 法 |
说 明 |
setDateHeader(String name,long date) |
使用给定的名称和日期值设置一个响应报头,如果指定的名称已经设置,则新值会覆盖旧值 |
setHeader(String name,String value) |
使用给定的名称和值设置一个响应报头,如果指定的名称已经设置,则新值会覆盖旧值 |
setHeader(String name,int value) |
使用给定的名称和整数值设置一个响应报头,如果指定的名称已经设置,则新值会覆盖旧值 |
addHeader(String name,long date) |
使用给定的名称和值设置一个响应报头 |
addDateHeader(String name,long date) |
使用给定的名称和日期值设置一个响应报头 |
containHeader(String name) |
返回一个布尔值,它表示是否设置了已命名的响应报头 |
addIntHeader(String name,int value) |
使用给定的名称和整数值设置一个响应报头 |
setContentType(String type) |
为响应设置内容类型,其参数值可以为text/html,text/plain,application/x_msexcel或application/msword |
setContentLength(int len) |
为响应设置内容长度 |
setLocale(java.util.Locale loc) |
为响应设置地区信息 |
eg:设置HTTP头可实现禁用缓存功能:
<%response.setHeader("Cache-Control","no-store");
response.setDateHeader("Expires",0);%>
缓冲区配置:
方 法 |
说 明 |
flushBuffer() |
强制把缓冲区中内容发送给客户 |
getBufferSize() |
返回响应所使用的实际缓冲区大小,如果没使用缓冲区,则该方法返回0 |
setBufferSize(int size) |
为响应的主体设置首选的缓冲区大小 |
isCommitted() |
返回一个boolean,表示响应是否已经提交;提交的响应已经写入状态码和报头 |
reset() |
清除缓冲区存在的任何数据,同时清除状态码和报头 |
session对象: 一直保存着会话期间所需要传递的数据信息
创建及获取客户的会话:
session.setAttribute(String name,String value);
session.getAttribute(String name);
从会话中移除指定的对象:
session.removeAttribute (String name);
销毁session:
session.invalidate();
会话超时的管理:
方 法 |
说 明 |
getLastAccessedTime() |
返回客户端最后一次发送与这个会话相关联的请求 时间 |
getMaxInactiveInterval() |
以秒为单位返回一个会话内两个请求的最大时间间 隔,Servlet容器在客户访问期间保存这个会话处于 打开状态 |
setMaxInactiveInterval(int interval) |
以秒为单位指定在服务器小程序容器使该会话无效 之前的客户请求之间的最长时间,也就是超时时间 |
application对象:
访问应用程序初始化参数:
方 法 |
说 明 |
getInitParameter(String name) |
返回一个已命名的初始化参数的值 |
getInitParameterNames() |
返回所有已定义的应用程序初始化参数名称的枚举 |
管理应用程序环境属性:
方 法 |
说 明 |
removeAttribute(String name) |
从ServletContext的对象中去掉指定名称的属性 |
setAttribute(String name,Object object) |
使用指定名称和指定对象在ServletContext的对象中进行关联 |
getAttribute(String name) |
从ServletContext的对象中获取一个指定对象 |
getAttributeNames() |
返回存储在ServletContext对象中属性名称的枚举数据 |
out对象:
管理响应缓冲:
方 法 |
说 明 |
clear() |
清空缓冲区 |
clearBuffer() |
清空当前区的内容 |
close() |
先刷新流,然后关闭流 |
flush() |
刷新流 |
getBufferSize() |
以字节为单位返回缓冲区的大小 |
getRemaining() |
返回缓冲区中没有使用的字符的数量 |
isAutoFlush() |
返回布尔值,自动刷新还是在缓冲区溢出时抛出IOException异常 |
向客户端输出数据:
<%out.println("同一世界,同一梦想");%>
pageContext对象: 获取会话范围
方 法 |
说 明 |
forward(java.lang.String relativeUtlpath) |
把页面转发到另一个页面或者servlet组件上 |
getAttribute(java.lang.String name[,int scope]) |
scope参数是可选的,该方法用来检索一个特定的已经命名的对象的范 围,并且还可以通过调用getAttributeNameInScope()方法,检索对某个 特定范围的每个属性String字符串名称枚举 |
getException() |
返回当前的Exception对象 |
getRequest() |
返回当前的request对象 |
getResponse() |
返回当前的response对象 |
getServletConfig() |
返回当前页面的ServletConfig对象 |
invalidate() |
返回servletContext对象,全部销毁 |
setAttribute() |
设置默认页面范围或特定对象范围之中的已命名对象 |
removeAttribute() |
删除默认页面范围或特定对象范围之中的已命名对象 |
说明:pageContext对象在实际JSP开发过程中很少使用,因为request和response等对象可以直接调用方法进行使用,如果通过pageContext来调用其他对象有些麻烦。
config对象: 读取web.xml配置信息
方 法 |
说 明 |
getServletContext() |
返回执行者的Servlet上下文 |
getServletName() |
返回Servlet的名字 |
getInitParameter() |
返回名字为name的初始参数的值 |
getInitParameterNames() |
返回这个JSP的所有的初始参数的名字 |
开发者可以在web.xml文件中为应用程序环境中的Servlet程序和JSP页面提供初始化参数
page对象: 应答或请求
方 法 |
说 明 |
getClass() |
返回当前Object的类 |
hashCode() |
返回此Object的哈希代码 |
toString() |
将此Object类转换成字符串 |
equals(Object o) |
比较此对象和指定的对象是否相等 |
copy(Object o) |
把此对象赋值到指定的对象当中去 |
clone() |
对此对象进行克隆 |
page对象是为了执行当前页面应答请求而设置的Servlet类的实体,即显示JSP页面自身,只有在JSP页面内才是合法的。page隐含对象本质上包含当前Servlet接口引用的变量,可以看作是this变量的别名,因此该对象对于开发JSP比较有用。
exception对象: 获取异常信息
方 法 |
说 明 |
getMessage() |
该方法返回异常消息字符串 |
getLocalizedMessage() |
该方法返回本地化语言的异常错误 |
printStackTrace() |
显示异常的栈跟踪轨迹 |
toString() |
返回关于异常错误的简单信息描述 |
fillInStackTrace() |
重写异常错误的栈执行轨迹 |
上一篇: mac 安装 RabbitMQ
下一篇: logback配置文件