pageContext.REQUEST_SCOPE与JSP中的请求对象之间的区别

时间:2015-07-11 17:06:48

标签: java jsp

pageContext.setAttribute("first","value1",pageContext.REQUEST_SCOPE);

request.setAttribute("first","value1");

这两个是相同还是不同? JSP中pageContext和Page的目的是什么?

1 个答案:

答案 0 :(得分:0)

这两行都做同样的事情,在请求范围内创建一个新属性。如果查看PageContext类,它有一个方法initialize,因为它存储了对request对象的引用。因此,当您执行pageContext.setAttribute("first","value1",pageContext.REQUEST_SCOPE);时,它会在请求范围中创建一个新属性。

  

JSP中的pageContext和Page的目的是什么。

pageContext提供了一些其他有用的方法,例如findAttribute(来自JspContext的inhertied方法),当您不知道存储属性的范围时,您可以使用这些方法。

pageContext属于javax.servlet.jsp.PageContext类型,是一个抽象类。此类的目的是提供单个对象,它为页面作者和容器实现者公开实用程序方法。根据{{​​3}},

  
      
  • 适用于容器生成代码的方法
  •   
     

某些方法旨在由生成的代码使用   容器,而不是JSP页面作者编写的代码或JSP标记库   作者。

     

支持生命周期的方法是initialize()和release()

     

以下方法可以管理嵌套的JspWriter   用于实现Tag Extensions的流:pushBody()

     
      
  • 针对JSP作者的方法
  •   
     

以下方法可以方便地访问隐式对象:

     

getException(),getPage()getRequest(),getResponse(),getSession(),   getServletConfig()和getServletContext()。

     

以下方法支持转发,包含和   错误处理:forward(),include()和handlePageException()。