1.服务端给客户端一个cookie(信件),客户端下次访问服务端带上 信件 就可以了;cookie
2.服务器登记你来过了,下次你来的时候我来匹配你;session
区别:
cookie是把用户数据写给用户的浏览器,浏览器保存
session是把用户的数据写给用户独占session中,服务器端保存
cookie相关代码块
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setHeader("Content-Type", "text/html;charset=utf-8"); //通知浏览器使用utf-8解码 PrintWriter out = resp.getWriter(); cookie[] cookies = req.getcookies();//服务器从客户端获取 if(cookies!=null){ out.write("你上一次访问的时间是:"); for (int i = 0; i < cookies.length; i++) { cookie cookie=cookies[i]; if(cookie.getName().equals("lastlongtime")){ //获取cookie的值 long l = Long.parseLong(cookie.getValue()); Date date = new Date(l); out.write(date.toLocaleString()); } } } else { out.write("这是你第一次访问"); } cookie cookie = new cookie("lastlongtime", System.currentTimeMillis() + ""); resp.addcookie(cookie); }
1.print方法可以将各种类型的数据转换成字符串的形式输出。
2. 重载的write方法只能输出字符、字符数组、字符串等与字符相关的数据。
最终都是重写了抽象类Writer里面的write方法
简而言之:当输出内容有中文时就用write();
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)