Jsp内置对象 jsp具有9大内置对象: 内置对象 类型 作用域 request javax.servlet.http.HttpServletRequest request response javax.servlet.http.HttpServletResponse response pageContext javax.servlet.jsp.PageContext page session
Jsp内置对象
jsp具有9大内置对象:
|
|
|
内置对象
类型
作用域
request
javax.servlet.http.HttpServletRequest
request
response
javax.servlet.http.HttpServletResponse
response
pageContext
javax.servlet.jsp.PageContext
page
session
javax.servlet.http.HttpSession
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
jsp有4种属性的保存范围:page,request,session,application
保存范围 |
介绍 |
page
所设置的属性在当前页面有效
request
指属性在一次请求范围内有效
session
指客户端与服务器一次会话范围内
application
指整个服务器范围,直至服务器停止以后才失效
对于属性操作的方法:
方法 |
作用 |
setAttribute("name","key")
在某个范围内设置属性
getAttribute("name")
获取某个范围内属性名为name的属性值
removeAttribute("name")
移除某个属性范围内名为name的属性
1.request对象:
request对象不但可以用来设置和取得request范围变量,还可以用来获得客户端请求参数,请求的来源,表头,cookies等
request获取请求参数的方法:
方法 |
返回值 |
方法说明 |
getParameter(String name)
String
获得参数名为name的参数值
getParamterName()
Enumeration
获得所有参数的名称
getParameterValues(String name)
String[]
获得参数名为name的所有参数
getParameterMap()
Map
获得所有参数封装的Map实例
若出现乱码:则设置request.setCharacterEncoding("gb2312");
request获得表头及其他信息的方法
方法 |
返回值 |
方法说明 |
getHeader(String name)
String
获得指定标题名称为name的标头
getHeaderName()
Enumeration
获得所有标头的名称
getIntHeader(String name)
int
获得标题名称为name的标头,内容以整数类型返回
getDateHeader(String name)
long
获得标题名称为name的标头,内容以日期类型返回
getCookies()
Cookie
获得相关cookies
getContextPath()
String
获得Context的路径
getMethod()
String
获得客户端的提交方式
getProtocol()
String
获得使用的HTTP协议
getQueryString()
String
获得请求的字符串
getRequestedSessionId()
String
获得客户端的SessionID
getRequestURI
String
获得请求URL
getRemoteAddr()
String
获得客户端IP地址
getRemoteHost()
String
获得客户机的主机名称
getRmotePort()
int
获得客户机的主机端口号
getRemoteUer()
String
获得客户机名称
2.response
response用来给客户端传送信息
方法 |
返回值 |
方法说明 |
addCookie(Cookie cookie)
void
添加cookie
addDateHeader(String name,long date)
void
添加一个标题名称为name标头,其值为日期类型
addHeader(String name,String value)
void
添加一个标题名称为name标头,其值为字符串类型
addIntHeader(String name,int value)
void
添加一个标题名称为name标头,其值为整数类型
setDateHeader(String name,long date)
void
设置一个标题名称为name标头,其值为日期类型
setHeader(String name,String value)
void
设置一个标题名称为name标头,其值为字符串类型
setIntHeader(String name,int value)
void
设置一个标题名称为name标头,其值为整数类型
sendError(int sc)
void
传送状态码
sendError(int sc,String msg)
void
传送状态码和错误信息
setStatus(int sc)
void
传送状态码
sendRedirect(URL)
void
页面重定向,用来实现页面跳转
给addIntHeader()方法添加一个标题为Refresh的标头,并指定刷新时间,从而实现页面刷新。例如:response.addIntHeader("Refresh",10);
response.addHeader("Refresh","10;URL=http://www.baidu.com");实现页面自动跳转
3.out对象
out对象用来向网页输出信息
方法 |
返回值 |
方法说明 |
clear()
void
清除网页上的输出内容
clearBuffer()
void
清除缓冲区内容
close()
void
关闭缓冲区,清除所有内容
getBufferSize()
int
取得缓冲区大小
getRemaining()
int
取得缓冲区剩余大小
inAutoFlush()
boolean
获得缓冲区是否进行自动清除的信息
print(String str)
void
进行页面输出
println(String str)
void
进行页面输出并换行
4.session对象
session对象用来表示用户的会话状况,一般用于保存用户的各种信息,直至生命周期超时或者被认为释放掉为止
方法 |
返回值 |
方法说明 |
getId()
String
获得session的ID
getCreationTime()
long
获得session生成的时间
getLashAccessedTime()
long
获得用户最后通过session发送请求时间
getMaxInactiveInterval
long
取得session生命周期,如果超过这个之间则失效
invalidate()
void
清空session内容
isNew
boolean
判断session是否为“新”的
setMaxInactiveInterval()
void
设置session的生命周期,超过这个时间则失效
5.application
application对象用来取得和设置Servlet的相关信息application对象的生命周期是从服务器产生到服务器关闭位置
方法 |
返回值 |
方法说明 |
getMajorVersion()
int
获得主要的Servlet API版本
getMinorVersion
int
获得次要的Servlet版本
getServerInfo
String
获得服务器版本
getMimeType()
String
获得指定文件的MIME类型
getContext()
ServletContext
获得指定Local的Application context
getRealPath
String
获得指定path的绝对路径
6.pageContext
pageContext对象不但可以用来设置page范围的属性,同样也可以设置其他属性范围的属性,不过要指定范围的参数
方法 |
返回值 |
方法说明 |
getException()
Ecxeption
获得当前的exception内置对象
getOut()
JspWriter
获得当前的out内置对象
getPage()
Object
获得当前的page内置对象
getRequest()
ServletRequest
获得当前的request内置对象
getResponse()
ServletResponse
获得当前的response内置对象
getServletConfig()
ServletConfig
获得当前的config内置对象
getServletContext()
ServletContext
获得当前application内置对象
getSession()
HttpSession
获得当前的session内置对象
getAttribute(String name,int scope)
Object
获得指定范围的name属性
getAttributeNamesInScope(int scope)
Enumeration
获得指定范围的所有属性名称
getAttributesScope(String name)
int
获得属性名称为name的属性范围
removeAttribute(String name)
void
移除属性名为name的属性
removeAttribute(String name,int scope)
void
移除指定范围的属性名称为name的属性
setAttribute(String name,Object value,int scope)
void
设置指定范围的name属性
findAttribute(String name)
Object
寻找所有范围属性名称为name的属性
7.page
page对象代表JSP转译后的Servlet,通过page对象可以非常方便的调用Servlet类中定义的方法
8.Config
config对象可以用来获得Servlet的配置信息
方法 |
返回值 |
方法说明 |
getInitParameter(name)
String
获得Servlet初始化参数
getInitParameterNames()
Enumeration
获得Servlet所有初始化参数名称
getServletContext()
ServletContext
获得当前Application context
getServletName()
String
获得Servlet名称
9.exception
exception对象用来处理错误异常,如果要使用exception对象,必须指定page中的isErrorPage属性值为“True".