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 }
轉載于:https://www.cnblogs.com/wq-9/p/10188820.html