JSP 隐式对象是 Web 容器创建的一组对象
JSP 隐式对象是可以直接在JSP页面使用的对象 ,无需使用“new”获取实例
1、
out
对象用于向客户端输出数据,类似于
servlet
内通过
response.getWriter
()
获取的
out
对象。
out
对象常用的输出数据方法:
2、
•
request
对象主要用于处理客户端请求
•
request
对象的方法
1
方法 | 说明 |
void setAttribute(String name, Object value) | 把name属性储存到request对象 |
Object getAttribute(String name) | 返回name 属性的值 |
void removeAttribute(String name) | 从request对象中移除name 属性 |
String getParameter(String name) | 返回指定name 的参数值 |
Enumeration getParameterNames( ) | 以枚举类型返回所有的参数名称 |
String [] getParameterValues(String name) | 以字符数组类型返回所有指定name 参数值 |
Map getParameterMap( ) | 以java.util.Map类型返回请求参数 |
String getProtocol() | 返回使用的协议版本 |
Void setCharacterEncoding(String code) | 设置请求正文的编码方式 |
•
request
对象的方法
2
方法 | 说明 |
String getContextPath( ) | 返回请求context 路径(即/站点名称) |
String getMethod( ) | 返回http 的方法(get、post、put等) |
Cookie[]getCookies() | 返回与请求相关的所有Cookie |
String getRequestedSessionId( ) | 返回用户端的session ID |
String getRequestURI( ) | 返回请求URI,不包括请求的查询字符串 |
String getRequestURL( ) | 返回请求的全部URL,包括协议、服务器名字和端口、请求的URI,但不包括请求的查询字符串 |
String getRemoteUser( ) | 返回登录用户的名称 |
3、
•response对象的方法
方法 | 说明 |
void addCookie(Cookie cookie) | 添加指定的cookie到响应对象 |
void addHeader(String name, String value) | 添加指定的name和String类型值到标题头 |
Void sendError(int sc) | 向客户端发送定义的状态码 |
Void sendError(int sc,String mess) | 向客户端发送定义的状态码和错误信息 |
Void setStatus(int sc) | 设置响应的状态码 |
String encodeURL(String url) | 重写指定的URL,包含sessionID |
String encoeRedirectURL(String url) | 对使用sendRedirect()方法的URL重写 |
respone对象的转发和重定向
•转发(forward) 和 重定向 (redirect)
•
Forward和Redirect代表了两种请求转发方式:
直接转发
和
间接转发
。
•
直接转发
方式(Forward),客户端和浏览器只发出
一次请求
,Servlet、HTML、JSP或其它信息资源,由第二个信息资源响应该请求,在请求对象request中,保存的对象对于每个信息资源是共享的。
•
间接转发
方式(Redirect)实际是两次请求,服务器端在响应第一次请求的时候,让浏览器再向另外一个URL发出请求,从而达到转发的目的。
4、
•
session
对象用来存储有关用户会话的所有信息
•
Servlet
和
JSP
页面通过
session
来共享数据
•
session
对象常用方法
:
•
void
setAttribute
(String
key,Object
value)
将一对键值对存储到
session
会话中
session.
setAttribute
("name", "admin");
•
Object
getAttribute
(String key)
获取
session
中指定名称的值对象
String name = (String) session.getAttribute("name");
•Servlet和JSP页面使用session对象来共享数据
5、
•
application
类似于系统的“全局变量”,用于实现用户之间的数据共享
•
application
对象实现了
javax.servlet.ServletContext
接口
•
application
对象的常用方法:
•
void
setAttribute
(String key, Object value)
:以键
/
值的方式,将一个对象的值存放到
application
中
application.setAttribute
("LOGINED_USER",
new
ArrayList
());
•
Object
getAttribute
(String key)
:根据键去获取
application
中存放对象的值
if (application.getAttribute("LOGINED_USER") != null) {
List loginedUsers = (List) application.getAttribute("LOGINED_USER");
}
6、
•
pageContext
对象是
javax.servlet.jsp.PageContext
类的实例
•
容器自动为每个
JSP
页面创建与之对应的
pageContext
对象
•
并把与
JSP
对应的
Servlet
对象的相关对象都自动地加入到
pageContext
对象中
•
pageContext
对象提供了
PAGE_SCOPE
、
REQUEST_SCOPE
、
SESSION_SCOPE
、
APPLCATION_SCOPE4
个属性对应
4
个作用域
7、
•
page
对象代表
JSP
本身,更准确地说它表示与
JSP
对应的
Servlet
类的实例
•
page
对象可以引用
Servlet
中的任何方法
•
page
对象对应的接口
javax.servlet.jsp.HttpJspPage
•
在
JSP
页面中,
this
关键字表示当前
JSP
页面这个对象,可以调用常见的方法
•
ServletConfig
getServletConfig
()
返回当前页面的
ServletConfig
对象
•
ServletContext
getServletContext
()
返回当前页面的
ServletContext
对象
•
String
getServletInfo
()
获取当前
JSP
页面的
Info
属性
8、
•
config
对象是实现了
javax.servlet.ServletConfig
接口,用来存放与
JSP
相关的初始化数据
•
在
showconfig.jsp
页面里,使用
config
对象来从
web.xml
读取
JSP
页面的初始化参数
•
getInitParameter
(name)
返回
web.xml
中指定参数的值
9、
•
exception
内置对象是
java.lang.Throwable
类的实例,提供此对象是为了在
JSP
中处理异常
•
JSP
错误处理涉及一个对象,即
exception
对象,此隐式对象只适用于
JSP
错误页面
•
在
JSP
页面跑出异常时,将转发至
JSP
错误处理页面
•
若要在页面中使用
exception
对象,必须在
page
指令中指定
<%@ page isErrorPage="true" %>
总结:
•
JSP
有
9
个隐式对象可分为四个类别
:
•
输入
/
输出对象、作用域通信和控制对象、
Servlet
相关对象和错误处理对象
•
out
对象表示与响应关联的实际输出流
•
request
对象表示封装了请求信息,
response
对象表示输出结果
•
session
隐式对象主要用于存储和检索属性值。
•
每个
JSP
文档都有一个
application
的隐式对象,用来存储运行环境的有关信息。
•
pageContext
隐式对象表示
JSP
文档的运行环境,提供对所有其它隐式对象及其属性的访问。
•
exception
隐式对象用于在
JSP
中处理异常