jsp隐含对象
来源:互联网 发布:怪物猎人XX数据库安卓 编辑:程序博客网 时间:2024/05/24 02:36
在JSP容器生成的Servlet类的_jspServlet()方法中,定义了几个对象,而这些对象就是我们在编写JSP页面时,可以使用的隐含对象。
注意:只能在脚本段和表达式中使用这些对象。
final javax.servlet.jsp.PageContext pageContext; javax.servlet.http.HttpSession session = null; final javax.servlet.ServletContext application; final javax.servlet.ServletConfig config; javax.servlet.jsp.JspWriter out = null; final java.lang.Object page = this; javax.servlet.jsp.JspWriter _jspx_out = null; javax.servlet.jsp.PageContext _jspx_page_context = null;
在JSP页面中,总共有9个隐含对象,与它们各自的类型如下表:
1、pageContext对象
该对象提供了访问其他隐含对象的方法。
<% pageContext.getRequest(); pageContext.getResponse(); pageContext.getServletConfig(); pageContext.getSession(); pageContext.getOut(); pageContext.getServletContext(); %>
在pageContext对象中,可以使用下面两个方法来保存和获取属性:(在pageContext对象中保存的属性,只能在当前页面中去获取)
pageContext.setAttribute(String,Object); pageContext.getAttribute(String);
可以以得到其他范围对象中保存的属性:
pageContext.setAttribute(String,Object,int scope); pageContext.getAttribute(String,int scope);
pageConext对象提供了请求转发的两个方法forward()和include()方法,其内部实现是调用RequestDispatcher对象的forward和include()方法:
pageContext.include(""); pageContext.forward("");
2、out对象
out对象的类型是JspWriter,该类是从Writer类派生的,以字符流的形式输出数据。out对象实际上是PrintWriter对象的带缓冲的版本,内部使用PrintWriter对象来输出数据。可以通过page指令的buffer属性来调整缓冲区的大小,默认是8kb。
out.print(""); out.println(); out.clear(); out.clearBuffer(); //不需要显式去调用close()方法,JSP容器所生成的代码中会自动包含对close()方法的调用 out.close();
3、exception对象
该对象表示了JSP页面运行时产生的异常,该对象只有在错误页面(page指令中指定属性isErrorPage=true的页面)中才可以使用。
<%@ page contentType="text/html;charset=UTF-8" language="java" isErrorPage="true" %><% exception.toString(); exception.printStackTrace(); exception.getMessage(); %>
对象和范围
在JSP页面中的对象,包括用户创建的对象和JSP隐含对象都有一个属性范围。
1、page范围
在这个范围内的对象,只能在创建对象的页面中访问。pageContext对象本身属于page范围。可以利用该对象的setAttribute()方法将其他范围内的对象保存为page范围。也可以使用getAttribute()方法来访问具有这种范围类型的对象。
当Servlet类的_jspService()方法执行完毕,属于page范围的对象的引用将被丢弃。page范围内的对象,在客户端每次请求JSP页面时创建,在页面向客户端发送回响应或请求被转发(forward)到其他的资源后被删除。
2、request范围
可以调用request隐含对象的getAttribute()方法来访问具有这种范围类型的对象,可以调用setAttribute()方法将对象保存到request范围中。
在调用forward()方法转向的页面或调用include()方法包含的页面中,都可以访问这个范围内的对象。对于每一个新的请求,都要重新创建和删除这个范围内的对象。
3、session范围
调用session隐含对象的getAttribute()方法来访问具有这种范围类型的对象,也可以调用setAttribute()方法将对象保存到session范围中。
JSP容器为每一次会话,创建一个HttpSession对象,在会话期间,可以访问session范围内的对象。
4、application范围
调用application隐含对象的getAttribute()方法来访问具有这种范围类型的对象,也可以调用setAttribute()方法将对象保存到application范围中。
在Wbe应用程序运行期间,所有的页面都可以访问在这个范围内的对象。
- JSP中的隐含对象
- JSP中的隐含对象
- JSP-隐含对象--pageContext
- JSP--隐含对象--exception
- JSP隐含对象
- jsp隐含对象详解
- jsp中隐含对象
- JSP的隐含对象
- JSP隐含对象
- JSP隐含对象使用方法
- JSP 隐含对象
- jsp 隐含对象
- jsp 隐含对象
- jsp隐含对象
- JSP隐含对象收藏
- JSP中的隐含对象
- JSP 隐含对象
- JSP九个隐含对象
- CSDN物联网学习5 从芯片到云端 Python物联网全栈开发经验教训共享
- ftp上传异常
- Python列表》》》
- Linux 内存管理浅析
- Spring测试
- jsp隐含对象
- 敏感词过滤-AC自动机
- Oracle EBS OM处理销售挑库卡在待定事务处理和保留中
- SG函数
- 清除浮动8种方式
- jps使用
- Linux_tar 归档中找不到
- 鸟哥的linux私房菜--首次登录与在线求助
- h5本地存储