我自己总结的。希望大家来指正和补充Cookie: ①存在于客户端(可被阻止)
         ②只能是文本文档
         ③如果设置了期限值,则写入客户端的文件;
           如果没有,它只对本窗口或其子窗口有效,其它窗口不能访问该Cookie
        ④在Servlet/JSP中设置的Cookie可以被同路径下或其子路径的Servlet/JSP访问,父路径不可以
             ○注:这里的路径是指URL,而不是Web文件的目录
Session: ①存在于服务器端
             ②每个Session对应一个窗口,用SessionID标识,这个Session为该窗口及其子窗口共享
             ③有两种实现方式:a.使用Cookie(在Cookie可用时)b.URL重写(在Cookie被禁用时)
             ④没有访问路径的问题。同一个WebApplication下的Servlet/JSP设置的Session可以被互相访问
                  前提是:同一个浏览器窗口或其子窗口
Application:与一个Web应用程序相对应,该应用程序下所有的Servlet/JSP共用该Application中的信息(ServletContext)
                   

解决方案 »

  1.   

    最根本的应该是这样!:1、session保存在服务器,客户端不知道其中的信息;cookie保存在客户端,服务器能够知道其中的信息。 
        
    2、session中保存的是对象,cookie中保存的是字符串。 
        
    3、session不能区分路径,同一个用户在访问一个网站期间,所有的session在任何一个地方都可以访问到。而cookie中如果设置了路径参数,
    那么同一个网站中不同路径下的cookie互相是访问不到的。 
        
    4、session需要借助cookie才能正常工作。如果客户端完全禁止cookie,session将失效。 但是如果服务器端启用了url编码,也就是用 
    URLEncoder.encode()把所有的url编码了,则会在url后面出现如下类似的东西 
    index.jsp:jsessionid=fdsaffjdlks;jaf;lkdjsf 服务器通过这个进行session的判断 
    5 session在用户会话结束后就会关闭了,但cookie因为保存在客户端,可以长期保存 
      

  2.   

    Cookie存储的信息是放到客户端的,用户在访问服务器端页面时,必然在客户端和服务器端之间频繁交换信息,影响了程序的性能。而Session由于存储在服务器内存中,因此不存在这个问题。不过,Session存储的信息是临时的,用户一旦关闭浏览器,状态即失去。而Cookie则相反。COOKIE 是本地文件,是 40 大盗在阿里巴巴家做的记号,或者是送牛奶的人在你家门口钉的箱子。 Application状态为应用程序提供了一个全局的状态。所有客户都可以使用该状态。从设计的角度来说,我们通常用Application来存储一些标准的数据。同时,我们在使用它时要注意避免性能的降低,存储的数据尽可能提供给客户只读的功能。 APPLICATION 是公共浴池。在这里能看见所有人,包括 ppmm 哦:)。 
    Session和客户端的Cookie是有关的,当客户关掉Cookie时,Session就失效了,SESSION 是服务器端内存,是你洗澡时浴池发给你的钥匙。自己专用,可以开自己的好多箱子。 
      

  3.   

    request  session  application