鱼C论坛

 找回密码
 立即注册
查看: 2632|回复: 0

[学习笔记] JSP&Servlet13

[复制链接]
发表于 2017-8-3 00:12:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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
  1.                 <%
  2.                   session.setAttribute("aaa","AAA");
  3.                    %>
  4.                
  5.                  <%
  6.                     String s=(String)session.getAttribute("aaa");
  7.                      %>
  8.                     <%=
  9.                     s
  10.                      %>
  11.        
复制代码

评分

参与人数 1鱼币 +3 收起 理由
小甲鱼 + 3

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-20 13:14

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表