【JaveWeb学习笔记#2】Session与Cookie session共享问题

    <%
        request.setCharacterEncoding("utf-8");
        String name = request.getParameter("uname");
        String pwd = request.getParameter("upwd");
        System.out.println("sessionID"+session.getId());
        if(name.equals("lg")&& pwd.equals("sbb")){
            session.setAttribute("uname",name);
            session.setAttribute("upwd",pwd);
            request.getRequestDispatcher("welcome.jsp").forward(request,response);
        }else {
            //登陆失败
            response.sendRedirect("login.jsp");
        }
    %>
<%Cookie[] cookies = request.getCookies();
for(Cookie cookie:cookies){
    if (cookie.getName().equals("JSESSIONID")){
        System.out.println("JSESSIONID"+cookie.getValue());
    }
}
%>

session:会话
session不是内置对象
当客户端第一次请求服务端的时,在生成session时,会同时生成一个sessionID,并且会将这个sessionID复制一份,命名为JESSIONID放在cookie中,返回给服务端(一一对应)
客户端与服务端通过JSESSIONID与sessionID对应
session保存客户端信息
如果cookie中的JSESSION与session中的sessionID相同,那么则匹配成功
匹配不成功就分配session

Session图解:

 

session方法:

String getId():获取sessionId
boolean isNew():判断是否是新用户(第一次访问)
void invalidate():使session失效

setAttribute();
getAttribute();
void setMaxInactive(秒):设置最大有效非活动时间
int getMaxInactive():获取最大有限 非活动时间

cookie和session的区别:


                                session        cookie
保存的位置            服务端        客户端
安全性                较安全        较不安全
保存的内容            Object        String

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值