zoukankan      html  css  js  c++  java
  • 保存状态的两种方式

     

     

     1 package com.bjsxt.cookie;
     2 
     3 import java.io.IOException;
     4 import java.net.URLEncoder;
     5 
     6 import javax.servlet.ServletException;
     7 import javax.servlet.annotation.WebServlet;
     8 import javax.servlet.http.Cookie;
     9 import javax.servlet.http.HttpServlet;
    10 import javax.servlet.http.HttpServletRequest;
    11 import javax.servlet.http.HttpServletResponse;
    12 
    13 /**
    14  * Servlet implementation class TestSetCookie
    15  */
    16 @WebServlet("/TestSetCookie")
    17 public class TestSetCookie extends HttpServlet {
    18 
    19     @Override
    20     protected void service(HttpServletRequest req, HttpServletResponse resp)
    21             throws ServletException, IOException {
    22     System.out.println("TestSetCookie.service()");
    23     //创建cookie
    24     Cookie cookie01=new Cookie("vivo","vivox5");
    25     Cookie cookie02=new Cookie("vivo","vivox6");
    26     Cookie cookie03=new Cookie("vivo","vivox7");
    27     Cookie cookie04=new Cookie("vivo","vivox21");
    28     //设置中文编码cookie
    29     Cookie cookie05=new Cookie("vivo",URLEncoder.encode("步步高五","utf-8"));
    30     //设置cookie信息的有效期,setmaxage是以秒为单位
    31     cookie03.setMaxAge(3*24*3600);
    32     cookie04.setMaxAge(3*24*3600);
    33     //设置cookie的访问路径
    34     cookie01.setPath(req.getContextPath()+"/abc");
    35     
    36     //发送给客户端
    37     resp.addCookie(cookie01);
    38     resp.addCookie(cookie02);
    39     resp.addCookie(cookie03);
    40     resp.addCookie(cookie04);
    41     resp.addCookie(cookie05);
    42     }
    43     
    44 
    45 }
     1 package com.bjsxt.cookie;
     2 
     3 import java.io.IOException;
     4 import java.net.URLDecoder;
     5 
     6 import javax.servlet.ServletException;
     7 import javax.servlet.annotation.WebServlet;
     8 import javax.servlet.http.Cookie;
     9 import javax.servlet.http.HttpServlet;
    10 import javax.servlet.http.HttpServletRequest;
    11 import javax.servlet.http.HttpServletResponse;
    12 
    13 /**
    14  * Servlet implementation class TestGetCookie
    15  */
    16 @WebServlet("/TestGetCookie")
    17 public class TestGetCookie extends HttpServlet {
    18 
    19     @Override
    20     protected void service(HttpServletRequest req, HttpServletResponse resp)
    21             throws ServletException, IOException {
    22         System.out.println("TestGetCookie.service()");
    23         //获取cookie--获取请求头里的cookie(从浏览器获取)
    24         Cookie[] cookies=req.getCookies();
    25         //获取cookie的名称和值
    26         for(int i=0;i<cookies.length;i++){
    27             System.out.println("cookie:"+cookies[i].getName()+":"+ URLDecoder.decode(cookies[i].getValue(),"utf-8"));
    28         }
    29     }
    30 
    31 }

     

    session

     

     1 package com.bjsxt.session;
     2 
     3 import java.io.IOException;
     4 
     5 import javax.servlet.ServletException;
     6 import javax.servlet.annotation.WebServlet;
     7 import javax.servlet.http.HttpServlet;
     8 import javax.servlet.http.HttpServletRequest;
     9 import javax.servlet.http.HttpServletResponse;
    10 import javax.servlet.http.HttpSession;
    11 /**
    12  * session:将http状态信息保存在服务器端的技术
    13  * seesion是客户端和服务器之间的一次会话
    14  *   会话-开始:当用户第一访问服务器时候就开始了
    15  *         结束:客户端--关闭浏览器(清除cookie)
    16  *           服务器--A:超过有效期 在tomcat中web.xml中配置   <session-config>
    17                                                     <session-timeout>30</session-timeout>
    18                                                  </session-config>
    19  *                   B:在本项目中web.xml配置session-config
    20  *                  C:设置session的最大不活动周期
    21  *                  D:服务器关闭
    22  *   
    23  *
    24  * cookie:不安全,效率低,容量小,但是不能舍弃这门技术,因为session的跟踪机制需要cookie来保存JSESSIONID
    25  */
    26 @WebServlet("/HelloSession")
    27 public class HelloSession extends HttpServlet {
    28 
    29     @Override
    30     protected void service(HttpServletRequest req, HttpServletResponse resp)
    31             throws ServletException, IOException {
    32         System.out.println("HelloSession.service()");
    33         
    34         //获取session
    35         HttpSession hs = req.getSession();
    36         
    37         //设置sesssion的最大不活动周期
    38         //hs.setMaxInactiveInterval(10);
    39         
    40         //强制sesssion失效
    41         //hs.setMaxInactiveInterval(0);
    42         //hs.invalidate();
    43         
    44         //获取sessionid
    45         String hsid = hs.getId();
    46         System.out.println("HelloSession.service()sessionid:"+hsid);
    47         
    48     }
    49 
    50     
    51 }
  • 相关阅读:
    redis set
    实现排行榜神器——redis zset
    nginx挂了怎么办
    django 400报错
    项目管理【18】 | 项目进度管理-规划进度管理
    项目管理【17】 | 项目进度管理-进度管理概述
    项目管理【23】 | 项目进度管理-制定进度计划
    移动端开发基础【7】生命周期
    移动端开发案例【7】移动端朋友圈发布显示开发
    移动端开发案例【6】移动端群、用户搜索开发
  • 原文地址:https://www.cnblogs.com/wq-9/p/10188820.html
Copyright © 2011-2022 走看看