cookie和session的区别
Cookie(客户端,不是很安全)
Cookie是由服务端创建,由若干个键值对组成的数据,并且随着响应以文件的形式将Cookie数据保存在客户端本地。当浏览器再次访问服务器时会携带Cookie数据,从而实现多次请求的数据共享。 作用:可以保存客户端访问网站的相关内容,从而保证每次访问时先从本地缓存中获取,以提高效率 Cookie的使用,数量限制,每个网站最多20个cookie,大小不超过4kb,所有网站的cookie不超过300个
Session(服务端,安全)
第一次请求的时候,服务器会创建一个带有id的Session的对象,然后服务器会把session的id以cookie的形式发送给客户端,第二次请求的时候根据id判断是否是同一个session对象,从而实现数据共享。
转发和重定向
转发:服务端行为,地址不变,数据共享,效率高 public void forward(HttpServletRequest req, HttpServletResponse resp) 转发的特点:forward 1. 转发地址栏路径不变 2. 转发只能访问当前服务器下的资源 3. 转发是一次请求,可以使用request对象来共享数据 重定向:客户端行为,地址发送改变,数据不共享,效率低 resp.sendRedirect(req.getContextPath()+"/servletDemo07"); 重定向的特点:redirect 1. 地址栏发生变化 2. 重定向可以访问其他站点(服务器)的资源 3. 重定向是两次请求。不能使用request对象来共享数据
Servlet的生命周期
实例化——>初始init——>接收请求service——>销毁destroy;