JSP九大隐式对象

1.jsp的九大隐式对象

request HttpServletRequest

response HttpServletResponse

session HttpSession

application ServletcContext

config   ServletConfig

exception (特殊情况下使用)

page     this(本JSP页面)

out       JspWriter(带缓冲的PrintWriter)

pageContext (使普通Java类可访问WEB资源,自定义标签常用)

2.session
(1)访问jsp页面时,默认web服务器创建session
(2).访问servlet时,必须通过request.getSession()才能创建session
(3).在转发和重定向情况下,session域不会销毁

3.application=ServletContext对象

4.config
取得jsp映射在web.xml文件中的信息

5.page:表示当前jsp页面,只能在jsp标签只出错,表示当前域对象,在代码中,表示当前域对象只能用PageContext

6.out隐式对象

(1).out隐式对象用于向客户端发送文本数据。 
(2).out对象是通过调用pageContext对象的getOut方法返回的,其作用和用法与ServletResponse.getWriter方法返回的PrintWriter对象非常相似。 
(3).JSP页面中的out隐式对象的类型为JspWriter,JspWriter相当于一种带缓存功能的PrintWriter,设置JSP页面的page指令的buffer属性可以调整它的缓存大小,甚至关闭它的缓存。 
(4).只有向out对象中写入了内容,且满足如下任何一个条件时,out对象才去调用ServletResponse.getWriter方法,并通过该方法返回的PrintWriter对象将out对象的缓冲区中的内容真正写入到Servlet引擎提供的缓冲区中:
(5).设置page指令的buffer属性关闭了out对象的缓存功能
out对象的缓冲区已满整个JSP页面结束

out的工作原理图:


7.exception:该对象只能在<%@isErroPage="true"%>的情况下,容器才会创建,否则容器不予创建

8.pageContext

(1).PageContext域对象仅限于当前jsp页面中,出了该jsp页面,原PageContext域对象销毁,如果取不到值,返回null
(2).PageContext域对象可以将对应的值保存在指定的四个域对象之一
pageContext.setAttribute("name","丝丝",PageContext.REQUEST_SCOPE);
(3)PageContext域对象可以将对应的值从指定的四个域对象之一取出
<%=pageContext.getAttribute("name",PageContext.APPLICATION_SCOPE) %>
(4).PageContext.findAttribute("name")
它会以name为key,依次去四个域对象中查询对应的值,找到即止,如果找不到,返回null

9.四大域对象

四个域对象的生命周期图:



四大域对象的包含图:


(1).pageContext jsp执行时创建pageContext,jsp页面结束时pageContext销毁
(2).request     客户请求服务器时创建,请求结束request销毁
(3).session     客户机请求服务器时,第一次getSession时,服务器创建session,session过xx多长时间没用了(或调用了session.invalidate方法),服务器销毁session
(4).application(servletContext)  web应用启动时就创建,web应用停止就销毁


10.什么情况下用什么域的问题
(1).什么情况下用request域?如果在开发程序时,数据看完就没用了,那就应该把数据存在request域范围内。比如看新闻,新闻属于用户看完就没用的数据,这时servlet获得新闻数据,就应该存在request里面交给jsp显示。

(2).什么情况下用session域?如果在开发程序时,数据看完了用户等一会儿还要用,那就应该把数据存在session域范围内.例如购物,购买的商品是用户的数据,这个数据产生之后,用户等一会儿结帐还要用,那么程序就应该把数据存在用户的session中。

(3).什么情况下用application域?如果在开发程序,数据产生了,这个数据不仅等一会儿自己要用,还要给别人用,那就应该存在application域,例如web聊天室,用户的聊天数据,这个数据不仅用户等一会儿自己要看,还要给别人看。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值