jsp九大内置对象

来源:互联网 发布:公司宣传画册设计软件 编辑:程序博客网 时间:2024/06/05 14:58
今天面试阿里,问我了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);
代表各个域的常量:
                                 



0 0
原创粉丝点击