Servlet:关于http中的持久化存储

http 协议是无状态协议--------即是每一次的请求是不会知道上一次的访问结果的, 不会相关的痕迹;

但是在实际开发中可能是需要保存相关的数据( 比如 密码等)
所以出现:

会话跟踪技术 1.

 							 Session :在服务器端产生,客户端是没有Session,但是jsid保存在cookie(临时会话)中;
 							 cookie: 客户端和服务器端都是会存在的;

cookie的使用:
在这里插入图片描述
1.创建cookie 对象: 直接通过new方法:
Cookie c1 = new Cookie (“name”,“briuo”);
2.通过respose 端发送给客户端:
respose.addCooki(c1)
3. 第三步 要在 第一步之前做( 因为 可能之前就已经存了相关的cookie)
// 通过request 获取cookie ;
Cookie [] cs = request.getCookie (); // 因为是有 用户名和密码,所以使用 Cookie [] 数组进行存;
if(cs != null){
for(Cookie temp :cs){
String n = temp.getName();
String v = temp.getValue();
pw.println(n+v); 写到服务器端;
4. 设置cookie的生命周期:
c1.setMaxAge(60); //单位是秒;

====================================================

Session 部分

session 对象也是用来保存一些数据的;

1.获取Session 对象;
  HttpSession  session = request.getSession();  // 这里面可以设置 ture 和false  ,flase 为 空的session ;
 2.往Session对象中 设置数值;
    session.setAttribute("aa", "this  request");  //  session  是以键值对的形式 来存放数据的;

关于Session 的生命周期:
Session 生命周期是与 tomcat服务器相关联的;
当Web应用第一次调用getSession的时候,就会创建得到一个新的Session ;

  • Servlet的生命周期:可以实现servlet 接口( 这里面的方法就是 周期)
    1. 类加载和实例化的阶段: servlet是单例模式,会在类加载并创建对象,第二次就不会再创建了;
  • 2.初始化阶段: 也是经历一次,调用init方法;可以给参数进行初始化操作和赋值,
  •   ![在这里插入图片描述](https://img-blog.csdnimg.cn/20191112200953129.png)![在这里插入图片描述](https://img-blog.csdnimg.cn/20191112201002956.png)
    

Session 会失效;
1.关闭浏览器
2.手动调用 Session.invalidate() 这个方法;
3. 当不活动的时间,大于Session 设置的存活期,也是会自动失效;
 在在web.xml中是 配置相关的 timeout (关键字)

================================================

重写URL: 作用—在被禁用cookie的时候,就仍是可以session 访问;

string url  = en

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值