一、关于JSP隐式对象
JSP饮食对象是web容器加载的一组类的实例。
它不像一般的java对象那样用”new”去获取实例,而是可以直接在jsp页面的java程序片和表达式部分使用对象。
jsp使用java定义的隐式对象来访问网页的动态内容。
隐式对象的名称是jsp的保留字。
jsp提供了一些隐式对象可简化开发。
注:这里我们主要体验这些JSP隐式对象的作用范围。
- 对象的作用域是可以访问对象的部分;
- JSP页面中的隐式对象的作用域包括:
- page – 再引用对象的JSP页面中提供对象。
- Request – 提供在所有请求页面中可用的对象。
- Session – 提供对象已访问给顶应用程序中的所有网页。例如,用户访问一个网站,并通过访问其他链接打开网站中的其他页面。网站中的所有网页形成一个应用程序作用域。
- 作用于通信对象和控制对象用于访问给定作用域中可用的所有对象。
二、四种隐式对象:
- 输入/输出对象:
- request
- response
- out
- 作用域通信对象:
- session
- application
- pageContext
- Servlet对象
- page
- config
- 错误对象
- exception
2.1、输入/输出对象:
- 控制页面的输入和输出
- 访问与所有请求和响应有关的数据
- 输入和输出对象包括request,response和out
2.2、request对象
客户端请求,此请求会包含来自GET/POST请求的参数;用户输入的数据用来保存在Request对象中,用javax.servlet.HttpServlet来执行。request对象的作用范围只在本页
,跳转页面后之前的设置信息失效。部分代码如下所示:
<body> |
2.3、response对象
处理jsp生成的响应;响发送给客户端;实现javax.servlet.http.HttpServletResponse接口;jsp引擎吧存放在request对象中的数据发到服务器端的组件,组件收到这些个数据后进行相应处理;返回一个response对象给jsp引擎,jsp引擎再把response对象传给jsp页面,这时的页面包含了定好的格式和从服务器端得到的数据。response的作用范围仍然局限于本页面
。
2.4、out对象
表示输出流(注意不是response.getWriter(),因为这种是PrintWriter类型);javax.servlet.jsp.JspWriter类的实例;使用write()、print()、和println()方法;Write()和print()方法的区别是Write只能输出和字符相关的东西,而print()可以输出各种那个数据类型
。
三、作用域通信对象
3.1、session对象
Web服务器为单个用户发送的多个请求创建会话;存储有关用户会话的所有信息;javax.servlet.http.HttpSession接口的实例;session对象的作用范围在跳转页面后仍然有效
。
3.2、application对象
表示jsp页面所属的应用程序;应用程序的jsp页面组合起来形成一个应用程序,适用范围最广的上下文状态。它允许jsp页面的servlet与包括在同一应用程序中的任何web组件共享信息;javax.servlet.ServletContext接口实例。application对象的作用范围在跳转页面后失效
。
3.3、pageContext对象
使用户可以访问页面作用域中定义的所有隐式对象;他的作用范围是在同一页面;javax.servlet.jsp.PageContext类的实例;是jsp页面本身的上下文;提供唯一一个API来管理具有不同作用域的属性;在实现jsp自定义标记处理程序时使用的非常多;pageContext对象的作用范围在跳转页面后仍然有效
。
四、Servlet对象
JSP引擎为每个JSP生成一个Servlet;Servlet的对象提供了访问Servlet信息的方法和变量;Servlet对象包括:page和config。
4.1、page对象
使用page对象可以访问Servlet类的所有变量和方法;java.lang.Object类的
4.2、page对象
存储在便宜JSP页面的过程中刚创建的信息;javax.servlet.ServletConfig接口的实例;提供了检索Servlet的初始化参数的方法;
五、Exception对象
exception对象用于处理JSP页面中的错误;exception对象用于访问执行JSP的过程中引发的异常;exception对象是java.lang.Throwable类的实例;