为了简化web开发,在JSP中定义了一些由JSP容器实现和管理的内置对象,这些对象可以直接在JSP页面中使用,而不需要JSP页面编写者对他们进行实例化。
request对象
用来获取客户端的信息,例如我们在表单标签中填写的信息等。JSP容器会将客户端的请求封装在request中。在客户端发出请求是会创建request对象,在请求结束后,则销毁request对象。
request对象是由 javax.servlet.http.HttpServletRequest 类的实例,作用域为 request,常用方法有:
方法名 | 描述 | 返回值类型 |
---|---|---|
getAttribute(String name) | 获取指定的属性 | Object |
setAttribute(String name,Object value) | 将指定的属性的值设为Value | void |
getParameter(String name) | 获取请求参数名为name的参数值 | String |
getParameterValues() | 获取name请求参数的值 | String[] |
getParameterMap() | 获取所有请求参数名和请求参数值所组成的Map对象 | Map |
setCharacterEncoding(String encoding) | 设置请求编码 | void |
response对象
response对象包含了从JSP页面返回客户端所有的信息,response对象经常用于设置HTTP标题,添加Cookie,设置响应内容的类型和状态,发送HTTP重定向和编码URL。
response对象是由 javax.servlet.http.HttpServletResponse 类的实例,作用域为 page,常用方法有:
方法名 | 描述 | 返回值类型 |
---|---|---|
addCookie(Cookie cookie) | 添加一个Cookie对象,用于在客户端保存特定的信息 | void |
addHeader(String name,String value) | 添加HTTP头信息,该Header信息将发送到客户端 | viod |
containsHeader(String name) | 用于判断指定名字的HTTP文件头是否存在 | void |
sendError(int errorCode) | 向客户端发送错误的状态码 | void |
sendRedirect(String url) | 重定向JSP文件 | void |
setContentType(String contentType) | 设置MIME类型与编码方式 | void |
out对象
out对象是一个缓冲的输出流,用来向客户端返回信息。由于向客户端输出时要进行连接,所有总是采用缓冲输出的方式,因此out是缓冲输出流。
out对象是由 javax.servlet.jsp.JspWriter 类的实例,作用域为 page,常用方法有:
方法名 | 描述 | 返回值类型 | 异常 |
---|---|---|---|
clear() | 清楚缓冲的内容,但不把数据输出到客户端 | void | java.io.IOException |
clearBuffer() | 清楚缓冲区中的内容,同时将数据输出到客户端 | void | java.io.IOException |
close() | 关闭缓冲区并输出缓冲区中的数据 | void | java.io.IOException |
flush() | 输出缓冲区的数据 | void | java.io.IOException |
getBufferSize() | 获取缓冲区的大小 | int | |
getRemaining() | 获取剩余缓冲区的大小 | int | |
isAutoFlush() | 缓冲区是否进行自动清除 | Boolean | |
newLine() | 输出一个换行符 | void | java.io.IOException |
print(String str) | 向客户端输出数据 | void | java.io.IOException |
pringln(String str) | 向客户端输出数据并换行 | void | java.io.IOException |
session对象
session对象是会话对象,用来记录每个客户端访问的状态。所谓的会话指的是从一个客户端打开浏览器与服务器建立连接,到这个客户端关闭浏览器与服务器断开连接的过程。
session对象是 javax.servlet.http.HttpSession 类的实例,作用域为 page,常用方法:
方法名 | 描述 | 返回值 |
---|---|---|
getAttribute(String name) | 获取session范围内的name值 | Object |
aetAttribute(String name,Object value) | 设置session范围内name属性的值为value | void |
removeAttribute(String name) | 删除session范围内name属性的值 | void |
getAttributeNames() | 获取所有session对象中存放的属性名 | Enumeration |
getCreationTime() | 返回session被创建的时间 | long |
getId() | 返回session创建时JSP容器所设定唯一标示 | String |
getLastAccessedTime() | 返回用户最后一次通过session发送请求的时间,单位为毫秒 | long |
getMaxInactiveInterval() | 返回session失效的时间,即两次请求间隔多长时间该session就被取消,单位为秒 | int |
isNew() | 判断是否为新的session | Boolean |
invalidate() | 清空session的内容 | void |
application对象
application对象用于获取和设置Servlet的相关信息,它的生命周期是从服务器启动知道服务器关闭为止。
application对象 javax.servlet.ServletContext 类的实例,作用域 application,常用方法:
方法 | 描述 | 返回 |
---|---|---|
setAttribute(Stirng name,Object value) | 以键值对的方式,将一个对象的值放到application中 | void |
getAttribute(String name) | 根据属性名获取application中存放的值 | void |