Session&&Cookie

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();

请求转发 request.getRequestDispathcer("path").forward(reqeust,response);

请求转发的特点:

1.地址栏没有发生变化

2.用户只发起了一次请求

3.请求转发只能转发本服务器以内的资源

4.由于请求是同一个对象,所以可以利用该request做servlet之间数据的传输

重定向 response.sendRedirect("path")

重定向的特点:

1.地址栏会发生改变

2.用户发起了两次请求

3.重定向可以访问服务器以外的资源

4.重定向由于请求多次的,所以HttpServletRequest不是同一个对象,故不能使用它传递数据

你可能感兴趣的:(Session&&Cookie)