Cookie、Session、Application
客户端像服务器发起http请求,服务器向客户端响应,然后连接就断开了,等下次再访问服务器时,是无法得知上一次的信息的,为了记录之前的信息,可以通过下面三种方式
Cookie
1、记录在客户端的名值对信息。
2、如果没有设置时间,则写入内存,关闭当前窗口则Cookie就消失了,否则会写入客户端的文本文件,即使关闭浏览器,再打开仍然能访问。
3、只能访问自己网站写入的信息。
4、浏览器可以设置不允许写入Cookie。
5、一个servlet/jsp设置的Cookie只能被同一个url下面或子url下面的servlet/jsp读到
Session
1、记录在服务器的名值对信息。
2、过期时间在web.xml中配置
3、服务器可以为每个窗口分配一个唯一的sessionid,如果客户端允许写入Cookie,则会写入Cookie中,这个窗口再向服务器发送http请求时,服务器可以通过读取客户端的Cookie获取sessionid,从而识别每个客户端,如果客户端禁止写入Cookie,则只能把url通过response.encodeURL方法处理下,强制在url中加上sessionid参数。
4、同一个web application下的servlet/jsp可以共享同一个session,前提是同一个客户端窗口。
Application
1、记录在服务器端的名值对信息
2、用于保存整个web application的生命周期内都可以访问的数据,只有一个Application
3、在api中,通过ServletContext实现
4、通过HttpServlet的getServletContext方法可以拿到这个Application
浙公网安备 33010602011771号