Cookie简单实例

Cookie简单实例

1、创建CookieServlet

 1 package com.servlet.study;
 2 
 3 import java.io.IOException;
 4 import java.io.PrintWriter;
 5 
 6 import javax.servlet.ServletException;
 7 import javax.servlet.http.Cookie;
 8 import javax.servlet.http.HttpServlet;
 9 import javax.servlet.http.HttpServletRequest;
10 import javax.servlet.http.HttpServletResponse;
11 @WebServlet("/cookieServlet.do") 12 public class CookieServlet extends HttpServlet { 13 public void doGet(HttpServletRequest request, HttpServletResponse response) 14 throws ServletException, IOException { 15 //设置服务器端以UTF-8编码进行输出 16 response.setCharacterEncoding("UTF-8"); 17 //设置浏览器以UTF-8编码进行接收,解决中文乱码问题 18 response.setContentType("text/html;charset = UTF-8"); 19 PrintWriter out = response.getWriter(); 20 21 //获取cookie 22 String username = ""; 23 String check = ""; 24 Cookie[] cookies = request.getCookies(); 25 for(int i = 0; cookies != null && i < cookies.length; i++){ 26 Cookie c = cookies[i]; 27 if("username".equals(c.getName())){ 28 username = c.getValue(); 29 check = "checked = 'checked'"; 30 break; 31 } 32 } 33 34 //登录页面 35 out.write("<form action = '" + request.getContextPath() + "/loginCookieServlet.do' method = 'post'>"); 36 out.write("用户名:<input type = 'text' name = 'username' value = '" + username + "'><br />"); 37 out.write("密码:<input type = 'password' name = 'password' value = ''><br />"); 38 out.write("记住用户名:<input type = 'checkbox' name = 'remember'" + check + "'><br />"); 39 out.write("<input type = 'submit' name = 'submit' value = '登录'><br />"); 40 } 41 public void doPost(HttpServletRequest request, HttpServletResponse response) 42 throws ServletException, IOException { 43 doGet(request, response); 44 } 45 }

2、创建LoginCookieServlet

 1 package com.servlet.study;
 2 
 3 import java.io.IOException;
 4 import java.io.PrintWriter;
 5 
 6 import javax.servlet.ServletException;
 7 import javax.servlet.http.Cookie;
 8 import javax.servlet.http.HttpServlet;
 9 import javax.servlet.http.HttpServletRequest;
10 import javax.servlet.http.HttpServletResponse;
11 
12 @WebServlet("/loginCookieServlet.do")
13 public class LoginCookieServlet extends HttpServlet {
14     public void doGet(HttpServletRequest request, HttpServletResponse response)
15             throws ServletException, IOException {
16         String username = request.getParameter("username");
17         String remember = request.getParameter("remember");
18         response.setCharacterEncoding("UTF-8");
19         response.setContentType("text/html;charset = UTF-8");
20         PrintWriter out = response.getWriter();
21         
22         //创建一个新的Cookie
23         Cookie cookie = new Cookie("username", username);
24         cookie.setPath(request.getContextPath());
25         if(remember != null){
26             //如果选择了记住用户名,则设置Cookie的有效期为一个不为0的整数
27             cookie.setMaxAge(Integer.MAX_VALUE);
28         }else{
29             //否则则把有效期设置为0,即命令浏览器删除该cookie
30             cookie.setMaxAge(0);
31         }
32         //将cookie对象添加到response对象中,这样服务器在输出response对象中的内容时就会把cookie也输出到客户端服务器
33         response.addCookie(cookie);
34         out.write("登录成功!");
35     }
36 
37     public void doPost(HttpServletRequest request, HttpServletResponse response)
38             throws ServletException, IOException {
39         doGet(request, response);
40     }
41 }

3、访问,结果

原文地址:https://www.cnblogs.com/huangdabing/p/9183637.html