java四种会话_四种会话跟踪技术

一、会话

同一个浏览器进程多次访问服务器,就是一个会话,一个会话包含多个请求。

二、会话跟踪

将现在页面的数据共享到下面的页面。

三、会话跟踪的四种方式:

1、url

在跳转的url地址后面加?XX=XXX,多个用&连接

数据的保存

Sring name = request.getParameter("userName");

Sring pwd = request.getParameter("userPwd");

%>

标题:

内容:

suc.jsp中获取数据

Sring name = request.getParameter("userName");

Sring pwd = request.getParameter("userPwd");

2、表单隐藏域

数据保存

标题:

内容:

">

suc.jsp中获取数据

Sring name = request.getParameter("userName");

Sring pwd = request.getParameter("userPwd");

3、cookie方式

服务器上,响应cookie给浏览器

String pwd = request.getParameter("userPwd");

Cookie cookie = new Cookie("user",name+","+pwd);

cookie.setMaxAge(1000);

response.addCookie(cookie);

%>

浏览器访问服务器的时候会将所有cookie发送给服务器

在服务器端变量cookie,找到需要的cookie得到账号和密码来自动登录

//遍历cookie,不同的网站的cookie的名字是不一样的

Cookie[] cs=request.getCookies();

String name ="";

String pwd="";

if(cs!=null){

for(int i=0;i

if(cs[i].getName().equals("user")){

String[] str = cs[i].getValue().split(",");

name=str[0];

pwd=str[1];

}

}

}

%>

账号:

密码:

4、session

浏览器访问服务器的时候,请求对象中会包含一个信息,sessionID(通过浏览器的cookie得到),服务器拿到id,如果id为空,或者服务器根据id找不到对应的会话对象,会新生成一个会话对象和id,会话对象保存在服务器,id发送给浏览器,保存在浏览器的临时cookie中,下次浏览器再次发送请求的时候,请求对象中的会话id就是刚才服务器发过来的,服务器就可以找到对应的会话对象,如果将数据保存在会话对象中,只要请求对象中的id不变,就可以访问相同会话对象的数据。

在session中保存数据

//得到数据,保存在session中,重新定向,由于浏览器中的cookie不变,所以服务器还是会找到同一个session对象

String name = request.getParameter("userName");

session.setAttribute("userName", name);

response.sendRedirect("sucsession.jsp");

%>

重定向:浏览器再次访问服务器,请求对象中的会话id就是刚才的id得到的session就是刚才的会话对象

sucsession.jsp中得到数据

登陆成功

总结:url、隐藏表单域、cookie都是存放在请求对象中,发给服务器,服务器再通过请求对象得到,但是session对象是保存在服务器的,通过请求对象中包含的sessionID来匹配对应的对象

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值