JSP脚本中的9个内置对象

一、JSP脚本中包含9个内置对象,这9个内置对象都是 Servlet API 接口的实例,只是JSP 规范对它们进行了默认初始化(由JSP页面对象Servlet的 _jspService() 方法来创建这些事例)。也就是说,它们已经是对象,可以直接使用。9个内置对象一次如下:

1、application: javax.servlet.ServletContext 的实例,该实例代表 JSP 所属的Web 应用本身,可 用于JSP页面,或者在Servlet 之间交换信息。常用的方法有 getAttribute(String attName)、setAttribute(String attName, String attValue) 和 getInitParameter(String paramName) 等。

2、config : javax.servlet.ServletConfig 的实例,该实例代表该Jsp 的配置信息。常用的方法有 getInitParameter(String paramName) 和getInitParameternames() 等方法。事实上,Jsp 页面通常无需配置,也就不存在配置信息。因此,该对象更多地在Servlet 中有效。

3、exception : java.lang.Throwable 的实例,该实例代表其他页面中的异常和错误。只有当页面是错误处理页面,即编译指令 page  的 isErrorPage 属性为true时,该对象才可以使用。通常的方法有 getMessage()  和 printStackTrance() 等。

4、out : javax.servlet.jsp.JspWriter 的实例,该实例代表 JSP 页面的输出流,用于输出内容,形成 HTML 页面。

5、page:代表该页面本身,通常没有太大用处。也就是 Servlet  中的 this,其类型就是生成的 Servlet 类,能用 page 的地方就可用 this。

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

7、request: javax.servlet.http.HttpServletRequest 的实例,该对象封装了一次请求,客户端的请求都被封装在该对象里。这是一个常用的对象,获取客户端请求参数必须使用该对象。 常用的方法有: getParameter(String  paramName) 、 getParameterValues(String paramName) 、setAttribute(String  attrName, Object attrValue) 、getAttribute(String attrName) 和 setCharacterEncoding(String env) 等。

8、response : javax.servlet.http.HttpServletResponse 的实例,代表服务器对客户端响应。通常很少使用该对象直接响应,而是使用out 对象,除非需要生成非字符相应。而 response 对象常用语重定向。常用的方法有 getOutputStream() 、sendRedirect(java.lang.String location )   等。

9、session : javax.servlet.http.HttpSession 的实例,该对象代表一次会话。当客户端浏览器与站点建立连接时,会话开始: 当客户端关闭浏览器时,会话结束。常用的方法有:getAttribute(String attrName) 、setAttribute(String attrName, Object attrValue) 等。

二、Web 应用里的JSP 页面、Servlet 等程序都将由Web服务器来调用,JSP、Servlet 之间通常不会相互调用,这就产生一个问题:JSP、Servlet之间如何交换数据?

为了解决这个问题,几乎所有WEB 服务器(包括 Java 、ASP、PHP、Ruby等)都会提供4个类似Map的结构,分别是application 、session、request、page,并允许JSP、Servlet 将数据放入这4个类似Map 的结构中,并允许从这4个Map 结构中取出数据。这4个Map 结构的区别是范围不同。

1、application :对于整个Web 应用有效,一旦JSP、Servlet将数据放入application 中,该数据将可以被该应用下其他所有的Jsp 、 Servlet  访问。

2、session : 仅对一次会话有效,一旦 JSP 、 Servlet 将数据放入到session 中,该数据将可以被 本次会话的其他所有的JSP 、 Servlet   访问。

3、request : 仅对本次请求,一旦JSP 、Servlet 将数据放入request 中,该数据将可以被该次请求的其他JSP 、Servlet 访问。

4、page: 仅对当前页面有效:一旦JSP 、Servlet 将数据放入 page 中,该数据只可以被当前页面的JSP脚本、声明部分访问。

JSP中的application 、session、request 和 pagecontext 4个内置对象分别用于操作 application 、session、request和page 范围中的数据。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值