jsp内置对象

         在JSP的Java代码块、表达式块等中可以直接使用的引用,称为JSP的内置对象。常用
的内置对象有九个,分别是:

补充:如何找到你的jsp文件生成的.java和.class文件,在.java文件的_jspService()方法中即可找到以上9个内置对象的定义。

根据如上路径即可找到。

以下简单介绍一些内置对象:

1.pageContext

pageContext,页面上下文,其具有一个只在当前页面范围的域属性空间,即其具有setAttribute()方法与getAttribte(方法。但由于在当前页面范围,数据不存放到域属性空间也可直接使用,将数据存放到域属性空间反而感觉“多此一举”, 所以这些方法并不常用。
不过,在同一页面中,为了使用EL表达式(后面学习)来访问某变量的值,此时一般使pageContext。
pageContext具有一些get方法;可以获取到Request、Response、Session、ServletContext、ServletConfig、page (即当前Servlet)、exception、 out 等另外八个内置对象。

3.session

 其定义为:

 javax.servlet.http.HttpSession session = null;

初始赋值为:

 session = pageContext.getSession();

查看源码,发现其就是调用的request.getSession()

7.out 

out,类型为javax.servlet.jspJspWriter。 查看JavaEE文档,发现JspWriter 类继承自I0流的Writer类。即out就是一个输出流对象。

8.page

指的就是当前jsp生成的.java类对象,其定义为:

final java.lang.Object page = this;

9.exception

在普通的JSP页面中是不能使用exception内置对象的。因为打开JSP翻译为的Servlet,发现其中并没有exception对象。若要在页面中直接使用exception对象,则需要配合着page指令使用。

如果在jsp文件中添加一个page指令:

<%@page isErrorPage="true" %>//不写该语句,默认为false

就可以在其.java文件中找到exception的定义,如下:

java.lang.Throwable exception = org.apache.jasper.runtime.JspRuntimeLibrary.getThrowable(request);
    if (exception != null) {
      response.setStatus(javax.servlet.http.HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
    }

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值