ملفات تعريف الارتباط في JSP مع مثال
⚡ ملخص ذكي
ملفات تعريف الارتباط JSP هي ملفات نصية صغيرة تُخزن على متصفح العميل وتساعد تطبيقات JSP tracجلسات k، تذكر تفضيلات المستخدم، وتخصيص الاستجابات عبر طلبات HTTP متعددة باستخدام واجهة برمجة تطبيقات javax.servlet.http.Cookie وعناوين الاستجابة القياسية.

ما هي ملفات تعريف الارتباط JSP؟
ملفات تعريف الارتباط JSP هي ملفات نصية صغيرة يطلب خادم الويب القائم على JSP من متصفح المستخدم تخزينها على جهازه. ولأن بروتوكول HTTP لا يحتفظ بحالة البيانات، فإن ملفات تعريف الارتباط JSP توفر طريقة بسيطة ومعيارية لحفظ المعلومات بين الطلبات، مثل حالة تسجيل الدخول، واختيار اللغة، والسمة، أو المتجر.ping معرّفات سلة التسوق.
- ملفات تعريف الارتباط JSP هي ملفات نصية عادية يتم تخزينها على جهاز العميل بواسطة المتصفح.
- اعتادوا على tracمعلومات k لإدارة الجلسات والتخصيص والتحليلات.
- يدعم JSP ملفات تعريف الارتباط HTTP من خلال تقنية Servlet الأساسية وفئة javax.servlet.http.Cookie.
- ملفات تعريف الارتباط JSP هي transmitيتم تضمينها داخل رؤوس طلبات واستجابات HTTP في كل طلب مطابق.
- عندما يتم ضبط المتصفح لقبول ملفات تعريف الارتباط، فإنه يخزنها على القرص حتى تاريخ انتهاء الصلاحية المحدد بواسطة setMaxAge.
لماذا نستخدم ملفات تعريف الارتباط JSP؟
يعتمد مطورو صفحات JSP على ملفات تعريف الارتباط لأن طلبات HTTP مستقلة عن بعضها البعض. فبدون ملفات تعريف الارتباط في JSP، لن يتمكن الخادم من معرفة أن طلبين ينتميان إلى نفس الزائر. تحل ملفات تعريف الارتباط في JSP هذه المشكلة بأقل قدر من البيانات المخزنة على جانب الخادم.
- جلسة tracملِك: تربط ملفات تعريف الارتباط JSESSIONID عمليات عرض الصفحات المتعددة بجلسة منطقية واحدة.
- التخصيص: يمكن لملفات تعريف الارتباط JSP تخزين تفضيلات اللغة أو المظهر أو التخطيط.
- أدوات المساعدة في المصادقة: غالباً ما يتم تخزين رموز "تذكرني" وحالة تسجيل الدخول في ملفات تعريف الارتباط مع تمكين علامتي HttpOnly و Secure.
- تحليلات: تقوم ملفات تعريف الارتباط في JSP بتسجيل الزوار العائدين، والمحيلين، ومسارات التحويل.
أنواع ملفات تعريف الارتباط JSP
- ملف تعريف الارتباط الدائم: يتم تخزين ملف تعريف ارتباط JSP الدائم على الجهاز للمدة الزمنية المحددة باستخدام setMaxAge. يساعد هذا التطبيق على تذكر التفضيلات وبيانات تسجيل الدخول عند إعادة تشغيل المتصفح.
- ملف تعريف ارتباط غير دائم: ملف تعريف ارتباط JSP غير الدائم، والذي يُسمى أيضًا ملف تعريف ارتباط الجلسة، يبقى فقط في ذاكرة المتصفح ويتم حذفه عند إغلاق المستخدم للمتصفح. ويُستخدم في الغالب للجلسات قصيرة الأجل. tracملك.
طرق ملفات تعريف الارتباط JSP
تعرض فئة javax.servlet.http.Cookie الطرق التالية التي تستخدم في أغلب الأحيان عند العمل مع ملفات تعريف الارتباط JSP.
-
public void setDomain(String domain)
تقوم طريقة JSP set cookie هذه بتعيين النطاق الذي ينطبق عليه ملف تعريف الارتباط JSP.
-
public String getDomain()
تُعيد طريقة JSP get cookie هذه النطاق الذي ينطبق عليه ملف تعريف الارتباط JSP.
-
public void setMaxAge(int expiry)
يُحدد هذا الخيار الحد الأقصى للوقت بالثواني قبل انتهاء صلاحية ملف تعريف الارتباط JSP. القيمة صفر تحذف ملف تعريف الارتباط، والقيمة السالبة تجعله ملف تعريف ارتباط للجلسة.
-
دالة عامة int getMaxAge()
يُعيد هذا الأمر الحد الأقصى لعمر ملف تعريف الارتباط JSP بالثواني.
-
public String getName()
يقوم بإرجاع اسم ملف تعريف الارتباط JSP.
-
public void setValue(String value)
يحدد القيمة المرتبطة بملف تعريف الارتباط JSP.
-
public String getValue()
يُعيد القيمة المرتبطة بملف تعريف الارتباط JSP.
-
public void setPath(String path)
تقوم هذه الدالة `set cookie` في JSP بتعيين... URL المسار الذي ينطبق عليه ملف تعريف الارتباط.
-
دالة عامة getPath()
يعيد URL المسار الذي ينطبق عليه ملف تعريف الارتباط JSP.
-
public void setSecure(boolean flag)
يقوم هذا بتحديد ملف تعريف الارتباط JSP بحيث يتم إرساله فقط عبر اتصالات HTTPS المشفرة.
-
public void setComment(String cmt)
يصف هذا الغرض من ملف تعريف الارتباط JSP.
-
public String getComment()
يقوم هذا البرنامج بإرجاع التعليق الذي يصف ملف تعريف الارتباط JSP.
كيفية التعامل مع ملفات تعريف الارتباط JSP
يتضمن العمل مع ملفات تعريف الارتباط JSP ثلاث خطوات قابلة للتكرار. ويُستخدم النمط نفسه لحالة تسجيل الدخول، وتبديل السمات، والمتجر.ping عربات.
- قم بإنشاء كائن JSP Cookie باستخدام مُنشئ Cookie.
- قم بضبط خصائص ملفات تعريف الارتباط، وخاصة الحد الأقصى للعمر والمسار وعلامات الأمان.
- أرسل ملف تعريف الارتباط إلى المتصفح من خلال رؤوس استجابة HTTP باستخدام response.addCookie.
كيفية إنشاء ملف تعريف ارتباط JSP
يتم إنشاء ملف تعريف ارتباط JSP جديد عن طريق إنشاء نسخة من javax.servlet.http.Cookie باسم وقيمة. ثم يتم إرفاق ملف تعريف الارتباط بكائن الاستجابة بحيث يقوم المتصفح بتخزينه.
كيفية قراءة ملفات تعريف الارتباط JSP
في كل طلب لاحق، يرسل المتصفح ملفات تعريف الارتباط JSP المطابقة إلى الخادم. تقرأ الصفحة هذه الملفات باستدعاء الدالة request.getCookies، التي تُعيد مصفوفة من كائنات Cookie. ثم يقوم التطبيق بالتكرار على المصفوفة، والبحث عن كل ملف تعريف ارتباط بالاسم، واستخدام قيمته.
كيفية حذف ملف تعريف ارتباط JSP
لحذف ملف تعريف ارتباط JSP، يقوم الخادم بإنشاء ملف تعريف ارتباط جديد بنفس الاسم، ويضبط قيمته على سلسلة فارغة، ثم يستدعي دالة setMaxAge بقيمة صفر، ويضيفه إلى الاستجابة. بعد ذلك، يقوم المتصفح بإزالة ملف تعريف الارتباط المخزن في الاستجابة التالية.
مثال على ملفات تعريف الارتباط في JSP
في مثال JSP Cookies هذا، يقوم التطبيق بإنشاء ملفي تعريف ارتباط لاسم المستخدم والبريد الإلكتروني، ويحتفظ بهما لمدة عشر ساعات، ثم يقرأ القيم مرة أخرى على صفحة ثانية تسمى action_cookie_main.jsp.
Action_cookie.jsp
<%-- Action_cookie.jsp: input form for JSP Cookies demo --%> <%@ 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 JSP 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>
شرح ال Code
Action_cookie.jsp
Code الأسطر من 10 إلى 15: تُعلن الصفحة عن نموذج يتم إرساله إلى action_cookie_main.jsp. حقلان للإدخال، اسم المستخدم والبريد الإلكتروني، يجمعان البيانات من المستخدم بالإضافة إلى زر إرسال.
Action_cookie_main.jsp
Code الأسطر من 6 إلى 9: يتم إنشاء كائنين من نوع Cookie، وهما اسم المستخدم والبريد الإلكتروني، باستخدام request.getParameter لقراءة القيم التي تم إرسالها بواسطة النموذج.
Code الأسطر من 12 إلى 13: يتم استدعاء طريقة setMaxAge مع 60 مضروبة في 60 مضروبة في 10، مما يحدد عمر كل ملف تعريف ارتباط JSP إلى عشر ساعات.
Code الأسطر من 16 إلى 17: يتم إرفاق ملفي تعريف الارتباط بالاستجابة باستخدام response.addCookie. ثم يقوم المتصفح بإرسالهما مرة أخرى في الطلبات اللاحقة، ويقرأهما الخادم باستخدام request.getCookies أو request.getParameter للطلب الحالي.
الناتج
عند تنفيذ الكود أعلاه، ستحصل على المخرجات التالية.
عند تشغيل ملف action_cookie.jsp، يعرض المتصفح حقلي اسم المستخدم والبريد الإلكتروني. بعد أن يُدخل المستخدم البيانات ويضغط على زر الإرسال، يقوم ملف action_cookie_main.jsp بإنشاء ملفات تعريف الارتباط JSP المطابقة على الخادم، وتخزينها على جهاز المستخدم، ثم يعرض القيم، مؤكدًا بذلك نجاح عملية إنشاء ملفات تعريف الارتباط.
أفضل الممارسات لملفات تعريف الارتباط JSP
ينبغي لتطبيقات الويب الحديثة التعامل مع ملفات تعريف الارتباط JSP كبيانات حساسة أمنيًا. تتوافق الممارسات التالية مع عمليات نشر Servlet 4.x و Servlet 5.x الحالية.
- استخدم خاصية HttpOnly: قم بتمييز ملفات تعريف الارتباط الخاصة بالمصادقة على أنها HttpOnly حتى لا تتمكن البرامج النصية من جانب العميل من قراءتها.
- استخدم الأمان: أرسل ملفات تعريف الارتباط فقط عبر HTTPS عن طريق استدعاء setSecure(true).
- استخدم SameSite: قم بتكوين سمة SameSite (Lax أو Strict) من خلال الحاوية أو رؤوس الاستجابة للتخفيف من تزوير الطلبات عبر المواقع.
- حافظ على القيم صغيرة: قم بتخزين مُعرّف في ملف تعريف الارتباط واحتفظ بالبيانات في وحدة تخزين الخادم.
- حدد تاريخ انتهاء الصلاحية صراحةً: استخدم setMaxAge للحصول على سلوك متوقع عبر المتصفحات.


