java 怎么设置cookie

2025-04-03 14:58:13
推荐回答(1个)
回答1:

java设置cookie是通过 Servlet 设置的。
通过 Servlet 设置 Cookies 包括三个步骤:
(1) 创建一个 Cookie 对象:您可以调用带有 cookie 名称和 cookie 值的 Cookie 构造函数,cookie 名称和 cookie 值都是字符串。
Cookie cookie = new Cookie("key","value");

请记住,无论是名字还是值,都不应该包含空格或以下任何字符:
[ ] ( ) = , " / ? @ : ;

(2) 设置最大生存周期:您可以使用 setMaxAge 方法来指定 cookie 能够保持有效的时间(以秒为单位)。下面将设置一个最长有效期为 24 小时的 cookie。
cookie.setMaxAge(60*60*24);

(3) 发送 Cookie 到 HTTP 响应头:您可以使用 response.addCookie 来添加 HTTP 响应头中的 Cookies,如下所示:
response.addCookie(cookie);

(4)完整实例:
// 导入必需的 java 库
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

// 扩展 HttpServlet 类
public class HelloForm extends HttpServlet {

public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{
// 为名字和姓氏创建 Cookies
Cookie firstName = new Cookie("first_name",
request.getParameter("first_name"));
Cookie lastName = new Cookie("last_name",
request.getParameter("last_name"));
// 为两个 Cookies 设置过期日期为 24 小时后
firstName.setMaxAge(60*60*24);
lastName.setMaxAge(60*60*24);
// 在响应头中添加两个 Cookies
response.addCookie( firstName );
response.addCookie( lastName );
// 设置响应内容类型
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String title = "设置 Cookies 实例";
String docType =
" "transitional//en\">\n";
out.println(docType +
"\n" +
"" + title + "\n" +
"\n" +
"

" + title + "

\n" +
"
    \n" +
    "
  • 名字:"
    + request.getParameter("first_name") + "\n
  • " +
    "
  • 姓氏:"
    + request.getParameter("last_name") + "\n
  • " +
    "
\n" +
"");
}
}