四大域和九大隐式对象

时间:2021-07-09 13:01:30

四大域: request、session、page、servletcontext

1.尽量使用小域

2.

pageContext:当前页面

request自己用:一次性,用完销毁

session自己用:多次性,等一会用

servletcontext:自己用、别人用公共


page域

pageContext:

1.setAttribute("name",value);      getAttribute("name");   removeAttribute("name");

2.访问其他域setAttribute("name",value,scope);      getAttribute("name",scope);   removeAttribute("name",scope);

scope:代表四个域的静态常量:    PageContext.REQUEST_SCOPE          XX_SCOPE

3.pageContext.findAttrubite(“xxx”);  小域到大域找    ;el表达式处理方案    ${xxx}  如果空,“”

4.forword和include    /代表当前web应用


request域


session域



servletcontext域


九大隐式对象: 

request、response、session、application、config、page、pageContext、out、exception


out:

1.JspWriter向外输出数据的,相当于PrintWriter+缓存,可以通过page指令的buffer属性设置缓存大小;

2.当缓存区满、buffer=none或者jsp界面结束 ,out才调用response的writer,把数据写到servlet缓存区里面

<%  
out.write("bb");
response.getWriter().write("aa");
%>
先aa,后打印bb ;  html标签 都是由out输出的和以上情况一样

pageContext:

1.封装了其他八大隐式对象

通过get方法获得: getException、Page、Request、Response、ServletConfig、ServletContext、Session、Out;常用在自定义标签里

2.也是一个域对象

1.setAttribute("name",value);      getAttribute("name");   removeAttribute("name");

2.访问其他域setAttribute("name",value,scope);      getAttribute("name",scope);   removeAttribute("name",scope);

scope:代表四个域的静态常量:    PageContext.REQUEST_SCOPE          XX_SCOPE

3.pageContext.findAttrubite(“xxx”);  小域到大域找    ;el表达式处理方案    ${xxx}

3包含许多常用操作

1.forword和include    /代表当前web应用  
pageContext.include()     动态包含