| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
Cookie详解 
                Cookie不只有name和value两个属性 
                Cookie的maxAge:最大时长,单位:秒   
                        例如:cookie.setMaxAge(60)表示这个Cookie会被浏览器保存到硬盘上 
                maxAge>0:浏览器会把Cookie保存到硬盘上,有效时长为maxAge值 
                maxAge<0:Cookie只在浏览器内存中存在,当用户关闭浏览器时,浏览器进程结束,Cookie同时销毁 
                MaxAge=0:浏览器马上删除这个Cookie 
                 
                Cookie的path 
                        Cookie的path由服务器创建Cookie时配置 
                        浏览器访问服务器相应的路径,则归还相应的Cookie 
                        > 例如: 
                              <> aCookie.path=/day11_1/; bCookie.path=/day11_1/jsps/; cCookie.path=/day11_1/jsps/cookie/; 
                              <> 访问:/day11_1/index.jsp时,归还:aCookie 
                              <> 访问:/day11_1/jsps/a.jsp时,归还:aCookie、bCookie 
                              <> 访问:/day11_1/jsps/cookie/b.jsp时,归还:aCookie、bCookie、cCookie 
                         
                        Cookie的path默认值:当前访问路径的父路径。例如在访问/day11_1/jsps/a.jsp时,响应的cookie,那么这个cookie的默认path为/day11_1/jsps/ 
                         
                        Cookie的domain(了解) 
                            > domain用来指定Cookie的域名!当多个二级域中共享Cookie时才有用。 
                            > 例如;www.baidu.com、zhidao.baidu.com、news.baidu.com、tieba.baidu.com之间共享Cookie时可以使用domain 
                            > 设置domain为:cookie.setDomain(".baidu.com"); 
                            > 设置path为:cookie.setPath("/"); 
                         
                        Cookie中不能存在中文 
                        如果要存,必须进行编码、解码 
                        // 保存 
                        Cookie c = new Cookie("username", URLEncoder.encode("张三", "utf-8"));//出错! 
                        response.addCookie(c); 
                         
                        // 获取 
                        Cookie[] cs = request.getCookies(); 
                        if(cs != null) { 
                          for(Cookie c : cs){ 
                            if("username".equals(c.getName())) { 
                              String username = c.getValue(); 
                              username = URLDecoder.decode(username, "utf-8"); 
                            } 
                          } 
                        } 
                         
         
HttpSession 
        1、Httpsession  不是HTTP协议制定的 
                由JavaWeb提供的,用来会话跟踪的类。Session是服务器端对象,保存在服务器端 
                Httpsession是Servlet三大域对象之一(request ,session,application(ServletContext)) 
                        所以它也有setAttribute()   getAttribute()  removeAttribute() 
                Httpsession底层依赖Cookie,或者URL重写 
                 
        2、作用 
                会话范围: 
                会话范围是某个用户从首次访问服务器开始,到该用户关闭浏览器结束 
                 
                服务器会为每个客户端创建一个session对象,session被服务器保存到一个Map中,这个Map被称之为session缓存 
                 
                Servlet中得到session对象: 
                HttpSession  session=request.getSession() 
                 
                JSP中得到session对象: 
                Session是jsp内置对象,直接使用 
        例子1:保存,获取session 
-                 <%
 
 -                   session.setAttribute("aaa","AAA");
 
 -                    %>
 
 -                 
 
 -                  <%
 
 -                     String s=(String)session.getAttribute("aaa");
 
 -                      %>
 
 -                     <%=
 
 -                     s
 
 -                      %>
 
 -         
 
 
  复制代码 |   
 
评分
- 
查看全部评分
 
 
 
 
 
 |