05 Cookie.Session

Cookie:在浏览器中保存用户的信息

 
使用:由服务器创建,发送到浏览器保存,之后随着请求发回到服务器
1.创建cookie
Cookie cookie = new Cookie("name","value");
2.发送cookie到浏览器
response.addCookie(cookie对象);
3.获取来自客户端的cookie
Cookie[] cookies = request.getCookies();
 
使用注意:
1.cookie第一次是由servlet发送到浏览器中,第一次不能获取cookie
2.不同的浏览器存放的cookie不是同一个
3.如果设置了cookie的maxage,则cookie会保存在浏览器所在电脑的硬盘上,如果没设置该属性,则保存在浏览器的内存中
 
 

Session:在服务器中保存用户信息

使用:在服务器端创建Session,来保存当前访问服务器的用户的信息
1.获取session(如果已经创建了session,则返回当前session)或创建session:
HttpSession session = request.getSession();
2.设置session最大不活跃时间
session.setMaxInactiveInteval() //以秒为单位
3.使用session保存信息
session.setAttribute(String key,Object value);
session.getAttribute(String key);
4.立即销毁session
session.invalidate();
 
Cookie
public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        // 1.创建cookie
        Cookie cookie = new Cookie("computer", "alienware");
        Cookie cookie2 = new Cookie("phone", "apple");
        
        //cookie可以设置最大的存活时间
        cookie.setMaxAge(3600);
        cookie2.setPath("/four_test");
        
        
        // 2.将cookie发送给浏览器
        response.addCookie(cookie);
        response.addCookie(cookie2);

        /* response.setHeader("Set-Cookie", "computer=alienware"); */

        // 3.获取cookie
        Cookie[] cookies = request.getCookies();
        if (cookies != null && cookies.length > 0) {
            for (Cookie coo : cookies) {
                System.out.println(coo.getName()+"--->"+coo.getValue());
            }
        }
        
        //注意:
        //1.cookie第一次是由servlet发送到浏览器中,第一次不能获取cookie
        //2.不同的浏览器存放的cookie不是同一个
        //3.如果设置了cookie的maxage,则cookie会保存在浏览器所在电脑的硬盘上,如果没设置该属性,则保存在浏览器的内存中
        
    }

 

Session
public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        //1.创建session/获取当前session
        HttpSession session = request.getSession();
        System.out.println(session.getId());
        
        //2.设置session的最大不活跃时间
        session.setMaxInactiveInterval(1800); //second
        
        //3.session存储用户信息
        session.setAttribute("name", "zhangsan");
        
        //4.立即销毁session
        //session.invalidate();
    }

 

 
 
 
 
 
 
 
 
 
posted @ 2019-05-12 11:40  ___mouM  阅读(147)  评论(0编辑  收藏  举报