【个人学习笔记】Java web页面访问记录

本文深入解析了Session和Cookie的工作原理及区别,强调了Session作为服务端内置对象在用户会话管理中的作用,而Cookie则是在客户端保存信息的一种方式。通过代码示例展示了如何使用Session跟踪用户访问次数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 
 Session和Cookie的区别
 session是服务端的内置对象,不需要new。cookie不是内置对象,是服务端 产生 的,再 发送 给客户端保存,cookie里可以保存很多种文件,MP3MP4等,包括用户名密码,下次再用确实不用再次登录,但是不安全。
 代码实现 



 代码如下:
 

public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        response.setContentType("text/html;charset=utf-8");
        
        HttpSession session=request.getSession();
        //获取用户Session
        
        String heading=null;
        
        Integer accesscount=(Integer)session.getAttribute("accesscount"); 
            //getAttribute(“属性名”) 根据属性名 获取对应的值
        if(accesscount==null){
            accesscount=new Integer(1);
            heading="欢迎你,首次登录!";//若登录次数为一,则heading显示欢迎你,首次登录!
        }
        else{
            heading="欢迎你,再次登录!";//否则显示欢迎你,再次登录!
            accesscount=accesscount+1;//访问次数+1
        }
        session.setAttribute("accesscount", accesscount);
        //setAttribute()方法,setAttribute(“属性名”,”属性值”) 根据属性名设值
        
        PrintWriter out = response.getWriter();
        
        out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
        out.println("<HTML>");
        out.println("  <HEAD><TITLE>会话跟踪</TITLE></HEAD>");
        out.println("  <BODY>");
        out.print("<h4>"+heading+"<a href='Sessionservlet'>再次会话</a>");
        //点击再次会话之后再次链接到Sessionservlet,再次访问
        out.print("<table border='0'>");
        out.println("<tr bgcolor=\"ffad00\"><td>信息</td>");
        
        String state=session.isNew()?"新会话":"旧会话";
        
        out.println("<tr><td>会话状态:<td>"+state+"\n");
        out.println("<tr><td>会话ID:<td>"+session.getId()+"\n");
        //getId():获取Session唯一的ID
        out.println("<tr><td>已被访问次数:"+accesscount+"\n");
        
        out.println("  </table>");
        out.println("</center></body></HTML>");
        out.flush();
        out.close();
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值