JSP中page和pageContext的区别

2025-02-05 12:26:56
推荐回答(2个)
回答1:

  • JSP网页本身,page对象是当前页面转换后的Servlet类的实例。从转换后的Servlet类的代码中,可以看到这种关系:Object page = this;在JSP页面中,很少使用page对象。

  • pageContext  javax.servlet.jsp.PageContext 的实例,该对象代表该JSP 页面上下文,使用该对象可以访问页面中的共享数据。常用的方法有getServletContext和getServletConfig等.

  • 总的来说,pageContext和page都是jsp中的隐含对象,pageContext代表jsp页面的上下文关系,能够调用、存取其他隐含对象;page代表处理当前请求的时候,这个页面的实现类的实例。

回答2:

JSP网页本身,page对象是当前页面转换后的Servlet类的实例。从转换后的Servlet类的代码中,可以看到这种关系:Object page = this;在JSP页面中,很少使用page对象。
pageContext  javax.servlet.jsp.PageContext 的实例,该对象代表该JSP 页面上下文,使用该对象可以访问页面中的共享数据。常用的方法有getServletContext和getServletConfig等.
  //使用pageContext 设置属性,该属性默认在page 范围内
  pageContext. setAttribute ("page" , "hello") ;

  //使用request 设置属性,该属性默认在request 范围内
  request. setAttribute ("request" , "hello");

  //使用pageContext将属性设置在request 范围中
  pageContext.setAttribute("request2″ , "hello" , pageContext.REQUEST_SCOPE);

  //使用session将属性设置在session 范围中
  session.setAttribute("session" , "hello");

  //使用pageContext将属性设置在session范围中
  pageContext.setAttribute("session2″ , "hello" , pageContext.SESSION_SCOPE);

  //使用application将属性设置在application范围中
  application. setAttribute ("app" , "hello") ;

  //使用pageContext 将属性设置在application 范围中
  pageContext.setAttribute("app2″ , "hello" , pageContext.APPLICATION_SCOPE) ;