11.cookie和session

来源:互联网 发布:淘宝大童女装店铺排名 编辑:程序博客网 时间:2024/06/06 03:58

1.jsp

  • java server pages(java服务器页面)
  • 本质上jsp就是一个servlet,在html代码中嵌套java代码,
  • 运行在服务器端,处理请求,生成动态的内容.
  • 对应的java和class文件在tomcat目录下的work目录
    后缀名 .jsp

  • 执行流程:

    1.浏览器发送请求,访问jsp页面2.服务器接受请求,jspSerlvet会帮我们查找对应的jsp文件3.服务器将jsp页面翻译成java文件.4.jvm会将java编译成.class文件5.服务器运行class文件,生成动态的内容.6.将内容发送给服务器,7.服务器组成响应信息,发送给浏览器8.浏览器接受数据,解析展示
  • jsp的脚本:

    <%...%> java程序片段    生成成jsp的service方法中<%=...%> 输出表达式    生成成jsp的service方法中,相当于在java中调用out.print(..)<%!...%> 声明成员    成员位置.

2. 会话技术

  • 当用户打开浏览器的时候,访问不同的资源,知道用户将浏览器关闭,可以认为这是一次会话.

2.1 作用:

  • 因为http协议是一个无状态的协议,它不记录上次访问的内容.用户在访问过程中难免会产生一些数据,
  • 通过会话技术就可以将起保存起来.

    • 例如:

      用户登录验证码购物车访问记录.....

2.2 分类:

2.2.1 cookie:浏览器端会话技术

  • cookie是由服务器生成,通过response将cookie写回浏览器(set-cookie),保留在浏览器上,下一次访问,浏览器根据一定的规则携带不同的cookie(通过request的头 cookie),我们服务器就可以接受cookie
  • cookie的api:

    new Cookie(String key,String value)
  • 写回浏览器:

    response.addCookie(Cookie c)
  • 获取cookie:

    Cookie[] request.getCookies()   
  • 常用方法:

    getName():获取cookie的key(名称)getValue:获取指定cookie的值setMaxAge(int 秒):设置cookie在浏览器端存活时间  以秒为单位,若设置成 0:删除该cookie(前提必须路径一致)setPath(String path):设置cookie的路径.    当我们访问的路径中包含此cookie的path,则携带    默认路径:         访问serlvet的路径,从"/项目名称"开始,到最后一个"/"结束        例如:            访问的serlvet路径:                /day11/a/b/hello            默认路径为:                /day11/a/b    手动设置路径:以"/项目名"开始,以"/"结尾;
注意:
  • cookie不能跨浏览器
  • cookie中不支持中文

2.2.2 session:服务器端会话技术

当我们第一次访问的服务器的时候,服务器获取id,
能获取id
要拿着这个id去服务器中查找有无此session    若查找到了:直接拿过来时候,将数据保存,需要将当前sessin的id返回给浏览器    若查找不到:创建一个session,将你的数据保存到这个session中,将当前session的id返回给浏览器
不能获取id
创建一个session,将你的数据保存到这个session中,将当前session的id返回给浏览器
获取一个session:
HttpSession  request.getSession()
域对象:
xxxAttribute生命周期:    创建:第一次调用request.getsession()创建    销毁:        服务器非正常关闭        session超时            默认时间超时:30分钟  web.xml有配置             手动设置超时:setMaxInactiveInterval(int 秒) 了解        手动干掉session            ★session.invalidate()存放的私有的数据.
原创粉丝点击