Cookie trong JSP với ví dụ

Cookies là gì?

  • Cookies là các tệp văn bản được lưu trữ trên máy khách.
  • Chúng được sử dụng để theo dõi thông tin cho nhiều mục đích khác nhau.
  • Nó hỗ trợ cookie HTTP sử dụng công nghệ servlet
  • Các cookie được đặt trong Tiêu đề HTTP.
  • Nếu trình duyệt được cấu hình để lưu trữ cookie, nó sẽ lưu giữ thông tin cho đến ngày hết hạn.

Các loại Cookie trong JSP

  1. Cookie liên tục: Cookie cố định sẽ được lưu trữ trên thiết bị của bạn trong một khoảng thời gian nhất định, giúp các trang web ghi nhớ sở thích và thông tin đăng nhập của bạn.
  2. Cookie không liên tục: Cookie không cố định là cookie tạm thời và sẽ bị xóa sau khi bạn đóng trình duyệt, chủ yếu được sử dụng để theo dõi phiên.

Phương pháp cookie JSP

Sau đây là các phương pháp sử dụng cookie:

  • Public void setDomain(Miền chuỗi)

    Cookie đặt JSP này được sử dụng để đặt tên miền mà cookie áp dụng

  • Chuỗi công khai getDomain()

    Cookie nhận JSP này được sử dụng để lấy tên miền áp dụng cookie

  • Khoảng trống công khai setMaxAge(int hết hạn)

    Nó đặt thời gian tối đa sẽ áp dụng cho đến khi cookie hết hạn

  • intgetMaxAge công khai()

    Nó trả về tuổi tối đa của cookie trong JSP

  • Chuỗi công khai getName()

    Nó trả về tên của cookie

  • Public void setValue(Giá trị chuỗi)

    Đặt giá trị được liên kết với cookie

  • Chuỗi công khai getValue()

    Nhận giá trị liên quan đến cookie

  • Public void setPath(Đường dẫn chuỗi)

    Cookie được đặt này trong JSP đặt đường dẫn áp dụng cookie

  • Chuỗi công khai getPath ()

    Nó nhận được đường dẫn mà cookie áp dụng

  • Công khai void setSecure(Cờ Boolean)

    Nó có nên được gửi qua các kết nối được mã hóa hay không.

  • public void setComment(Chuỗi cmt)

    Nó mô tả mục đích của cookie

  • Chuỗi công khai getComment()

    Nó trả về các nhận xét về cookie đã được mô tả.

Cách xử lý cookie trong JSP

  1. Tạo đối tượng cookie
  2. Đặt độ tuổi tối đa
  3. Gửi cookie trong tiêu đề phản hồi HTTP

Ví dụ

Trong ví dụ về cookie JSP này, chúng ta sẽ tìm hiểu cách gọi hàm tạo cookie trong JSP bằng cách tạo cookie của tên người dùng và email, và thêm tuổi vào cookie trong 10 giờ và cố gắng lấy tên biến trong action_cookie.jsp

Action_cookie.jsp.

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Cookie</title>
</head>
<body>
<form action="action_cookie_main.jsp" method="GET">
Username: <input type="text" name="username">
<br />
Email: <input type="text" name="email" />
<input type="submit" value="Submit" />
</form>
</body>
</html>

Action_cookie_main.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%
         
   Cookie username = new Cookie("username",
 			  request.getParameter("username"));
   Cookie email = new Cookie("email",
			  request.getParameter("email"));

   
   username.setMaxAge(60*60*10); 
   email.setMaxAge(60*60*10); 

   // Add both the cookies in the response header.
   response.addCookie( username );
   response.addCookie( email );
%>


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Cookie JSP</title>
</head>
<body>

<b>Username:</b>
   <%= request.getParameter("username")%>
<b>Email:</b>
   <%= request.getParameter("email")%>

</body>
</html>

Giải thích mã

Action_cookie.jsp

Dòng mã 10-15: Ở đây chúng ta đang lấy một biểu mẫu phải được xử lý trong action_cookie_main.jsp. Ngoài ra, chúng ta đang lấy hai trường “username” và “email” phải được lấy từ người dùng bằng nút submit.

Action_cookie_main.jsp

Dòng mã 6-9: Tạo hai đối tượng cookie là “username” và “email” bằng cách sử dụng request.getParameter.

Dòng mã 12-13: Ở đây chúng tôi đang thêm tuổi cho cả hai cookie đã được tạo trong 10 giờ, tức là cookie sẽ hết hạn ở độ tuổi đó.

Dòng mã 16-17: Thêm cookie vào phiên tên người dùng và email và hai cookie này có thể được lấy khi được getParameter() yêu cầu.

Đầu ra

Khi bạn thực thi đoạn mã trên, bạn sẽ nhận được kết quả sau:

Phương pháp cookie JSP

Phương pháp cookie JSP

Khi chúng ta thực thi action_cookie.jsp, chúng ta sẽ nhận được hai trường username và email, và nó sẽ lấy dữ liệu đầu vào của người dùng, sau đó chúng ta nhấp vào nút submit. Chúng ta sẽ nhận được đầu ra từ action_cookie_main.jsp, trong đó các biến được lưu trữ trong cookie JSP ở phía máy khách.