JSP 隐式对象是 Web 容器创建的一组对象
JSP 隐式对象是可以直接在JSP页面使用的对象 ,无需使用“new”获取实例
1、
out 对象用于向客户端输出数据,类似于 servlet 内通过 response.getWriter () 获取的 out 对象。 out 对象常用的输出数据方法: append() print()write()
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) |
设置请求正文的编码方式 |
方法 |
说明 |
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 中处理异常