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

猜你喜欢

转载自www.cnblogs.com/a199706/p/11603409.html