前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JSP的9大内置对象和4大域对象

JSP的9大内置对象和4大域对象

作者头像
望天
发布2018-08-02 11:20:02
7000
发布2018-08-02 11:20:02
举报
文章被收录于专栏:along的开发之旅along的开发之旅

什么是内置对象?

在JSP开发中,会频繁使用到一些对象。例如HttpSession, ServletContext, ServletContext, HttpServletRequet。如果我们每次要使用这些对象都去创建这些对象就显示非常麻烦。所以Sun公司设计JSP时,在JSP页面加载完毕之后就会自动帮开发者创建好这些对象,而开发者只需要直接使用这些对象调用方法即可,这些创建好的对象就叫内置对象! 举例:

代码语言:javascript
复制
servlet: 
HttpSession session = request.getSession(true); (需要开发者做)

JSP:
tomcat服务器:  HttpSession session = request.getSession(true);(不需要开发者做)
开发者做的: session.getId();

9大内置对象

内置对象名

类型

request

HttpServletRequest

response

HttpServletResponse

config

ServletConfig

application

ServletContext

session

HttpSession

exception

Throwable

page

Object(this)

out

JspWriter

pageContext

PageContext

4大域对象

内置对象名

类型

pageContext

page域

request

request域

session

session域

application

context域

1)域对象作用: 用于数据共享, 保存数据 和 获取数据。

2)域对象方法: setAttribute(“name”,Object) 保存数据 getAttribute(“name”) 获取数据 removeAttribute(“name”) 清除数据

3)域对象作用范围: page域: 只能在当前jsp页面中使用(当前页面) request域: 只能在同一个请求中使用(转发) session域: 只能在同一个会话(session对象)中使用(私有的) context域: 只能在同一个web应用中使用。(全局的)

PageContext

这里说下pageContext, 因为它不仅是一个内置对象, 同时还是域对象.

pageContext内置对象

作为一个内置对象,PageContext封装了其他八个对象, 可以通过pageContext获取其他八个内置对象. 我们看下PageContext的源码:

代码语言:javascript
复制
    public abstract HttpSession getSession();

    public abstract Object getPage();

    public abstract ServletRequest getRequest();

    public abstract ServletResponse getResponse();

    public abstract Exception getException();

    public abstract ServletConfig getServletConfig();

    public abstract ServletContext getServletContext();

其中有getSession()用于获得HttpSession对象, getServletContext()用于获得ServletContext对象.

pageContext域对象

作为一个域对象, pageContext主要用于保存数据和获取数据.

保存数据

1)默认情况下,保存到page域 pageContext.setAttribute("name"); 2)可以向四个域对象保存数据 pageContext.setAttribute("name",域范围常量)

获取数据

1)默认情况下,从page域获取 pageContext.getAttribute("name") 2)可以从四个域中获取数据 pageContext.getAttribute("name",域范围常量) 域范围常量:

代码语言:javascript
复制
    PageContext.PAGE_SCOPE
    PageContext.REQUEST_SCOPE
    PageContext..SESSION_SCOPE
    PageContext.APPLICATION_SCOPE                       

3)自动在四个域中搜索数据 pageContext.findAttribute("name"); 顺序: page域 -> request域 -> session域- > context域(application域)

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016年05月13日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是内置对象?
  • 9大内置对象
  • 4大域对象
  • PageContext
    • pageContext内置对象
      • pageContext域对象
        • 保存数据
        • 获取数据
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档