jsp九大内置对象

详解JSP内置对象及输出机制
本文深入解析了JSP中的九大内置对象,并详细解释了JSPWriter对象的输出机制,包括其作为字符流的特性、缓冲区原理以及如何在页面结束时将数据刷新到response。同时介绍了pageContext域对象的使用方法,包括存取数据的基本操作。
今天面试阿里,问我了jsp九大内置对象都有什么,以前经常复习,当时又忘记了。写一下,以后不要忘记了。

总体框架


几点特殊说明:

1、特殊的输出效果:

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>My JSP '5.jsp' starting page</title>
  </head>
  
  <body>
    <%
    	out.write("hahahaha");
    	response.getWriter().write("wowowowowowowo");
     %>
  </body>
</html>

输出效果:

wowowowowowowohahahaha出现原因:当out.write("hahahaha");的时候,out有缓冲,缓冲还没有满,运行完Response.getWriter().write(wowowowow”)的时候,程序结束了,这时查看out中是否有数据,有数据就把数据写入write中。所以先输出wo,在输出ha

out隐式对象是JspWriter类型带缓冲的字符流 (包装流)  BufferedWriter

response.getWriter() 进行了包装,提供了缓冲区,默认大小8KB

写入该流的数据最终会被刷新到 response , 调用response.getWriter().write() 方法

Question: 什么情况下 JspWriter 会将数据刷新?

1) 缓冲区写满(默认大小为8kb, 可以在page指令中通过 buffer属性设置缓冲区大小)

2) jsp 页面结束(此流会被关闭,数据刷新到底层的流)

总结:用out做jsp页面的输出。

pageContext的说明:

pageContext是个域对象,当本页面还需要某些数据的时候,可以先把数据存入pageContext对象中,然后需要的时候取出来。pageContext的生命周期在整个页面范围内,随jsp创建而创建,运行结束而结束。

pageContext方法:public void setAttribute(String name,Object value);
                public Object getAttribute(String name);
                public void removeAttribute(String name);
pageContext访问其他域对象的方法:
                public Object getAttribute(String name,int scope);
                public void setAttribute(String name,Object value,int scope);
                public void removeAttribute(String name,int scope);
代表各个域的常量:
                                 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值