一,jsp隐含对象
1,jsp隐含对象是JSP容器加载管理的一组类的实例.
* jsp隐含对象在 _jspService方法 中定义,所以只能在表达式,scriptlet中使用这些对象。
2,jsp隐含对象分为4类:
* 输入输出对象 : HttpServletRequest的request, HttpServletResponse的response, JspWriter的out;
* 作用域通信对象 : HttpSession的session, ServletContext的application, PageContext的pageContext;
* servlet对象 : Object的page, ServletConfig的config;
* 错误对象 : Throwable的exception;
3,servlet中的代码片段:
... ...
public void _jspService(HttpServletRequest request, HttpServletResponse response)
throws java.io.IOException, ServletException {
PageContext pageContext = null;
HttpSession session = null;
ServletContext application = null;
ServletConfig config = null;
JspWriter out = null;
Object page = this;
JspWriter _jspx_out = null;
PageContext _jspx_page_context = null;
... ...
}
二,输入输出对象:控制页面的输入输出;
1,HttpServletRequest request:客户端请求信息的封装。
* 作用域:
一次请求到响应的阶段。在这阶段,对于转发和页面包含对象是共享的。
请求对象对于每一次请求都重新创建。
2, HttpServletResponse response : 服务器响应信息的封装。
* 用于设置响应报头,Cooike等响应信息。
3,JspWriter :以字符流形式输出数据,是PrintWriter的缓存版本,使用page指令的buffer属性来设置缓冲区的大小。
* 几个和缓存操作有关的方法:
flush : 刷新缓冲区;
isAutoFlush:判断out对象是否自动刷新。设置自动刷新在page指令的buffer属性中。
clear和clearBuffer:清除缓冲区中的内容.如果缓冲区被"刷新", 前者抛出IO异常,后者不会。
* servlet中的代码片段:
out = pageContext.getOut();
_jspx_out = out;
三,作用域通信对象:JSP页面和servlet的通信信息;
1, PageContext pageContext :提供访问其他隐含对象及其属性和自身属性的统一入口,来保持同一页面不同组件之间的数据共享。
* javax.servlet.jsp.PageContext;
* 作用域:
page的作用域。每个页面和请求都有不同的PageContext对象。
使用include指令包含页面时,被包含文件共享该pageContext 对象。jsp:include动作则不可以。
对于这样的属性那就放到request中。
servlet和jsp页面不共享PageContext对象。
* 访问,设置和移除 其他隐含对象的属性:scope为PageContext常量.
getAttribute(string name, int scope);
setAttribute(string name, int scope);
removeAttribute(string name, int scope);
removeAttribute(string name)方法将移除所有范围类的指定属性。
* 搜索所有范围内指定的属性,按page,request,session,application的顺序来搜索。
findAttribute(string name);
* servlet中的代码片段:
... ...
private static final JspFactory _jspxFactory = JspFactory.getDefaultFactory();
... ...
public void _jspService(HttpServletRequest request, HttpServletResponse response)
... ...
pageContext = _jspxFactory.getPageContext(this, request, response, null, true, 8192, true);
PageContext _jspx_page_context = null;
_jspx_page_context = pageContext;
application = pageContext.getServletContext();
config = pageContext.getServletConfig();
session = pageContext.getSession();
out = pageContext.getOut();
... ...
_jspxFactory.releasePageContext(_jspx_page_context);
... ...
}
2,HttpSession session :封装当前请求的会话信息,实现会话跟踪。
* servlet中的代码片段:
session = pageContext.getSession();
2,ServletContext application
* 作用域: web应用程序运行期间,所有页面都共享该对象。
* servlet中的代码片段:
application = pageContext.getServletContext();
四,servlet对象:JSP页面的环境信息;
1,Object page :当前请求期间servlet对象的引用。
* 可以使用page访问生成的servlet的类成员和方法。page指令就是对该对象的应用。
* 作用域:
每次请求jsp页面时创建,在请求转发或响应后被销毁。
这个范围的对象只能在创建对象的页面中访问。
pageContext对象属于page范围。
* servlet中的代码片段:
Object page = this;
2,ServletConfig config :servlet初始化信息。
五,错误对象:处理页面的错误;
* java.lang.Throwable exception : 表示JSP页面运行时产生的异常。
** 该对象只能在错误页面(page指令中isErrorPage=true的页面)中使用。
原文:[url]http://dinghaoliang.blog.163.com/blog/static/12654071420100259471140/?fromdm&fromSearch&isFromSearchEngine=yes[/url]
分享到:
相关推荐
### jsp隐含对象详细解析 #### 一、概述 JSP(Java Server Pages)是一种基于Java技术的服务器端动态网页开发技术。它允许开发者在HTML文档中嵌入Java代码来实现动态内容的生成。在JSP开发中,有一些内置的对象...
EL隐含对象是JSP EL提供的一组预定义变量,无需显式声明即可直接在EL表达式中使用,极大地提高了开发效率。 1. **pageContext对象** pageContext对象提供了对JSP页面所有作用域的访问,包括page、request、session...
### Java中JSP和EL表达式的隐含对象详解 在Java Web开发中,JSP(Java Server Pages)作为一种常用的技术被广泛应用于构建动态网页。它允许开发者将HTML、JavaScript等静态网页元素与动态生成的内容混合在一起。在...
### JSP的九个隐含对象详解 #### 一、page对象 `page`对象是JSP中的一个重要概念,它实际上代表的是当前JSP页面在编译后转换成的Servlet实例。通过`page`对象,开发者可以访问和调用由JSP对应的Servlet类中定义的...
jsp隐含对象 jsp隐含对象 jsp隐含对象 jsp隐含对象
JSP 隐含对象 JSP 隐含对象是 Web 容器加载的一组类,它们不像一般的 Java 对象那样用” new” 去获取实例,而是可以直接在 JSP 页面使用的对象。这些隐式对象的名称是 JSP 的保留字,JSP 使用 Java 定义的隐式对象...
详细了解JSP中九个隐含对象,page 对象,config 对象,request 对象,response 对象,out 对象,session 对象,application对象,pageContext对象,exception对象
### JSP中的九个隐含对象详解 #### 一、Page对象 在JSP中,`page`对象代表了JSP页面本身,更准确地说,它代表的是JSP被编译后生成的Servlet实例。通过这个对象,我们可以访问当前页面(即Servlet)的所有属性和...
JSP隐含对象是Java Server Pages(JSP)中预定义的一组特殊变量,开发者在编写JSP页面时可以直接使用,无需显式声明。这些对象提供了对服务器端编程的强大支持,涵盖了从客户端获取数据、向客户端发送响应、管理数据...
4. **pageContext对象**:pageContext对象是所有JSP页面范围内的数据共享机制。它提供了对当前页面、请求、会话和应用范围内的对象的访问。`pageContext.getAttribute()`和`pageContext.setAttribute()`用于获取和...
在JavaServer Pages (JSP) 技术中,隐含对象是预定义的变量,可以直接在JSP页面中使用,无需显式声明。它们提供了对Servlet API的便捷访问,简化了开发过程。以下是JSP中九个主要的隐含对象及其区别: 1. **page**:...
1. **pageContext对象**:这是最全面的隐含对象,它提供了对JSP页面上下文的访问,允许开发者获取或设置其他隐含对象、请求、响应、session、application等对象的属性。`pageContext.findAttribute()`方法可以用来...
jsp 内置文档对象,可通过该文档进行简单查询!
JSP隐含对象是预定义的变量,可以直接在JSP页面中使用,无需显式声明。 在3.3节中,重点讲解了与属性作用域相关的`session`对象。HTTP协议本身是无状态的,这意味着服务器对每个请求的处理都是独立的,不保留任何...
jsp 与servlet基础 1:jsp概述 2:jsp基础 3:jsp隐含对象 4:jsp中使用数据库 5:jsp与javabean ...
6.1 JSP 隐含对象概述 JSP的内置对象包括`out`、`request`、`response`、`session`、`application`、`exception`和`pageContext`。它们在JSP转换成Servlet时自动创建并注入。 6.2 `out` 对象 `out`对象用于向客户端...