cookie和session的案例

小案例:get请求

登录

因为是get请求,所以频道了连接里面

<form action="/WEB04/LuanServlet"  method="get">
    用户名:<input type="text" name="username"><br>
    密码名:<input type="password" name="password"><br>
    <input type="submit"  value="登录">
    </form>

 post请求

<form action="/WEB04/BodyServlet" method="Post">
    用户名:<input type="text" name="username" ><br>
    爱好:
    <input type="checkbox" name="hobby" value="zq">足球
    <input type="checkbox" name="hobby" value="lq">篮球
    <input type="checkbox" name="hobby" value="ppq">乒乓球
    <br>
    <input type="submit" value="提交">
</form>

//servlet层
    //获取请求体的参数
        //获取请求体单个值
        String username=request.getParameter("username");
        System.out.println("单个值的username"+username);
        //获取多个值
        String [] hobbys=request.getParameterValues("hobby");
        System.out.println("爱好:");
        for(String s:hobbys){
            System.out.println(s);
        }
        //获取所有值Map集合,获取单个的,多个数组的集合
        Map<String,String[]> map=request.getParameterMap();
        //先获取到set集合的key值。
        Set<String> set=map.keySet();
        for(String key:set){
            String [] value=map.get(key);
            System.out.println(key+":");
            for( String s:value){
                System.out.println(s+" ");
            }
            System.out.println();
            //System.out.println(key+":"+map.get(key));
        }

post不会显示信息,安全

 

 

 记录上一次登录的日期:

//不论如何都会请求的第一次
        //创建日期对象,记录当前访问时间
        Date date=new Date();
        //转换日期格式
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        //获取转换后的日期字符串
        String currentTime=sdf.format(date);
        //创建Cookie对象
        Cookie cookie=new Cookie("LastTime",currentTime);
        //设置持久化时间
        cookie.setMaxAge(60*10);
        //发送cookie
        response.addCookie(cookie);
        
        
        //获取客户端携带的cookie---lastTime
        Cookie [] cookies=request.getCookies();
        //定义下lasttime
        String lastTime=null;
        //遍历,获取name是lastTime的cookie对象中的value值
        if(cookies!=null){
        for(Cookie c:cookies){
            //判断cookie和lasttime时间是不是对的上
            if(c.getName().equals("LastTime")){
                lastTime=c.getValue();
            }
        }
    }
        //解决中文乱码
        response.setContentType("text/html;charset=UTF-8");
        if(lastTime==null){
            response.getWriter().write("您是第一次访问");
            System.out.println("您是第一次访问");
        }else{
            response.getWriter().write("您上次访问的时间是"+lastTime);
            System.out.println("您上次访问的时间是"+lastTime);
        }
    }

第一次访问浏览器,客户端没有缓存,显示

如果再次登入:显示相应的时间。2019-09-28 15:53

原文地址:https://www.cnblogs.com/a199706/p/11603409.html