JSP的隐式对象
来源:互联网 发布:战舰世界 青叶 数据 编辑:程序博客网 时间:2024/05/01 01:31
JSP的隐式对象
JSP隐式对象是Web容器加载的一组类的实例。它是可以直接在JSP页面使用的对象。分为4个主要类别:
– 输入和输出对象:控制页面的输入和输出(request、response、out)。
– 作用域通信对象:检索与JSP页面的Servlet相关的信息(session、application、pageContext)。
– Servlet对象:提供有关页面环境的信息(page、config)。
– 错误对象:处理页面中的错误(exception)。
输入输出对象:
Request
request隐式对象表示客户端的请求,包含了所有的请求信息,常用的方法:
1、 String getParameter(String name):根据页面表单组件名称获取请求页面提交的数据。
request.getParameter("action")
2、 String getParameterValues(String name):获取页面请求中一个表单组件对应多个值时的用户的请求数据(例如复选框)。
response对象
response隐式对象处理JSP生成的响应,然后将响应结果发送给客户端,常用的方法:
1、void setContentType(String name):设置作为响应生成的内容的类型和字符编码。
2、void sendRedirect(String name):发送一个响应给浏览器,指示其应请求另一个URL(会丢失数据,跳转后不再执行sendRedirect方法下面的代码)。
response.sendRedirect("say.jsp");
out对象
在JSP页面中应使用out隐式对象来向客户端发送文本形式的实体内容。
1、 out对象是通过调用pageContext对象的getOut方法返回的,其作用和用法与ServletResponse.getWriter方法返回的PrintWriter对象非常相似。
2、 JSP页面中的out隐式对象的类型为JspWriter,JspWriter相当于一种带缓存功能的PrintWriter,设置JSP页面的page指令的buffer属性可以调整它的缓存大小,甚至关闭它的缓存。
3、 JSP页面中的out隐式对象相当于插入到ServletResponse.getWriter方法返回的PrintWriter对象前面的缓冲包装类对象。
作用域通信对象
pageContext对象
1、pageContext对象是javax.servlet.jsp.PageContext类的实例对象,javax.servlet.jsp.PageContext类是javax.servlet.jsp.JspContext的子类。
2、 pageContext对象是通过调用JspFactory.getPageContext方法返回的。
3、pageContext对象封装了当前JSP页面的运行信息,它提供了返回JSP页面的其他隐式对象的方法。
4、 在JSP页面中只需将pageContext对象传递给某个Java类的实例对象,在该Java对象中就可以访问和调用其他隐式对象的功能了。
pageContext对象使用户可以访问当前页面作用域中定义的所有隐式对象。
i. getException()方法返回exception隐式对象
ii. getPage()方法返回page隐式对象
iii. getRequest()方法返回request隐式对象
iv. getResponse()方法返回response隐式对象
v. getServletConfig()方法返回config隐式对象
vi. getServletContext()方法返回application隐式对象
vii. getSession()方法返回session隐式对象
viii. getOut()方法返回out隐式对象
PageContext类中定义了一个setAttribute方法来将对象存储进pageContext对象内部的一个HashMap对象中,同时也定义了一个getAttribute方法来检索存储在该HashMap对象中的对象。
ix. void setAttribute(String name, Object value)
x. Object getAttribute(String name)
注意:PageContext类除了可以存储和检索自身中的属性对象外,还定义了可以存储和检索其他域范围内的属性对象的方法。
1、 在application、session、request、pageContext对象中都可以调用setAttribute方法和getAttribute方法来设置和检索各自域范围内的属性。
2、存储在application对象中的属性可以被同一个WEB应用程序中的所有Servlet和JSP页面访问。
3、 存储在session对象中的属性可以被属于同一个会话的所有Servlet和JSP页面访问。
4、 存储在request对象中的属性可以被属于同一个请求的所有Servlet和JSP页面访问,例如使用PageContext.forward和PageContext.include方法连接起来的多个Servlet和JSP页面。
5、 存储在pageContext对象中的属性仅可以被当前JSP页面的当前响应过程中调用的各个组件访问,例如,正在响应当前请求的JSP页面和它调用的各个自定义标签类。
6、
i. PageContext类中还提供了对各个域范围的属性进行统一管理的方法,以简化对各个域范围内的属性的访问。
public void setAttribute(java.lang.String name,
java.lang.Object value,int scope)
public java.lang.Object getAttribute(String name,int scope)
其中参数scope的取值为:
1. PageContext.APPLICATION_SCOPE
2. PageContext.SESSION_SCOPE
3. PageContext.REQUEST_SCOPE
4. PageContext.PAGE_SCOPE
5.
注意:如果指定作用域对象中已经存在指定名称的属性,setAttribute方法先删除原来的属性后再增加新的属性。如果传递给setAttribute方法的属性值对象为null,则删除指定名称的属性,这时的效果等同于removeAttribute方法。
– PageContext类中定义了一个forward方法和两个include方法来分别简化和替代RequestDispatcher.forward方法和RequestDispatcher.include方法的调用:
ü public void forward(java.lang.String relativeUrlPath)throws javax.servlet.ServletException,java.io.IOException
ü public void include(java.lang.String relativeUrlPath)
throws javax.servlet.ServletException,java.io.IOException
ü public void include(java.lang.String relativeUrlPath,boolean flush) throws javax.servlet.ServletException,java.io.IOException
– 传递给这些方法的资源路径都只能是相对路径,如果路径以“/”开头,表示相对于当前WEB应用程序的根目录,否则,表示相对于当前JSP所映射到的访问路径。
• session对象
– session对象表示用户的会话状况,用此项机制可以轻易识别每一个用户,能保存和跟踪用户的会话状态。session对象最常用的方法:
• void setAttribute(String name, Object value)
• void getAttribute(String name)
• application对象
– application对象作用于整个应用程序,所有的客户端窗口都可以共享该对象,从服务器开始就存在,直到服务器关闭为止。application对象最常用的方法:
• void setAttribute(String name, Object value):以名称/值的方式,将一个对象的值存放到application中(存的值的类型为Object)。
• void getAttribute(String name):根据名称去获取application中存放对象的值(获取的值的类型为Object)
• 设置context初始参数。在web.xml文件适当的位置增加内容:
<context-param>
<param-name>website</param-name>
<param-value>www.sohu.com</param-value>
</context-param>
在JSP页面中,使用applicatin对象的getInitParameter()方法可以取得website参数对应的参数值。在Servlet中用ServletContext对象的同名方法获得参数值。
Servlet对象
• page对象
– page对象提供对网页上定义的所有对象的访问。page对象表示页面本身,它是java.lang.Object类的一个实例。
• config对象
– config对象存储Servlet的一些初始信息。config对象是javax.servlet.ServletConfig接口的一个实例,ServletConfig接口提供方法以检索Servlet初始化参数。config对象表示编译JSP页面的Servlet初始化数据的配置
- JSP的隐式对象
- JSP的隐式对象
- JSP的隐式对象
- JSP的隐式对象
- JSP的隐式对象
- JSP的隐式对象
- JSP的隐式对象
- JSP的隐式对象
- JSP的隐式对象
- JSP的隐式对象
- JSP的隐式对象
- JSP的隐式对象
- JSP的隐式对象
- jsp的隐式对象
- JSP的执行过程\JSP的隐式对象
- JSP的执行过程\JSP的隐式对象
- JSP的隐式对象的实例
- JSP的隐式对象的实例
- 控制并发访问的线程数 Semaphore 信号灯
- How property system works on Android
- 使用NSOperation建立多任务网络连接
- MySQL:如何编写daemon plugin
- MyEclipse设置代码提示功能
- JSP的隐式对象
- 文本偏移
- 设备管理器打不开——简单易行
- RandomAccessFile(转)
- 使用InetAddress 获取主机名注意!!!
- Android 特殊字符转义
- 新浪微博OAuth 2.0接口简单实例例
- 非功能性需求
- WPF中动态改变控件显示位置