黑马程序员技术交流社区

标题: 【石家庄校区】Session [打印本页]

作者: 奔跑的蜗牛006    时间: 2018-5-21 15:27
标题: 【石家庄校区】Session
Session

概述:Cookie本身是有大小和个数的限制.Session没有限制.
Cookie的数据保存在客户端,Sessionde 保存在服务器端.
Session的执行原理:   基于Cookie的.
使用Session:
    获得Session:
        HttpSession = request.getSession()
Session是域对象:
    创建:服务器端第一次调用getSession()创建session.
    销毁:三种情况销毁session
        1.session过期,默认过期时间为30分钟;
        2.非正常关闭服务器,如果正常关闭session序列化到硬盘.
        3.手动调用session.invalidate();
    作用范围:多次请求.一次会话.

JSP的三大指令:
page:全局友好页面的配置
include:<%@ include file=""%>   静态包含
taglib:

九大内置对象(面试点三):
request             HttpServletRequest                  
response            HttpServletResponse
session             HttpSession
application         ServletContext
page                Object
out                 JspWriter
pageContext         PageContext
config              ServletConfig
exception           Throwable

1.获取其他8个内置对象: getxxx()方法
2.可以向四个域中存取数据:
pageContext.setAttribute("pname","pvalue",PageContext.PAGE_SCOPE);
pageContext.setAttribute("rname","rvalue",PageContext.REQUEST_SCOPE);
pageContext.setAttribute("sname","svalue",PageContext.APPLICATION_SCOPE);
pageContext.setAttribute("aname","avalue",PageContext.APPLICATION_SCOPE);

<%= pageContext.getAttribute("pname",PageContext.PAGE_SCOPE) %>
<%= pageContext.getAttribute("rname", PageContext.REQUEST_SCOPE) %>
<%= pageContext.getAttribute("sname", PageContext.SESSION_SCOPE) %>
<%= pageContext.getAttribute("aname", PageContext.APPLICATION_SCOPE) %>
动作标签:
​        <jsp:forward page=""> /jsp:forward
​        <jsp:include page="">/jsp:include :动态包含
静态包含和动态包含的区别:(面试点四)
静态包含:相当于源代码的拷贝.只会翻译成一个Java类.有一个执行结果
动态包含:各自分别去翻译.各自执行,最终包含的是执行的结果







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2