في صفحة الويب ، عندما يصل العميل إلى الخادم في كل مرة ، لا يحتاج بعضها إلى طلب ذلك مرارًا وتكرارًا. على سبيل المثال ، بعض الصور ومقاطع الفيديو وما إلى ذلك ، ليست هناك حاجة لطلبها في كل مرة ، مما سيزيد من عبء العمل للخادم. لمنع ذلك ، نستخدم المرشحات لتعيين العميل ليتم تخزينه مؤقتًا.
ذاكرة التخزين المؤقت للصفحة وإعدادات غير ذاكرة التخزين المؤقت ودور التعريف في صفحات HTML
في HTTP 1.1 ، يتم تمكين التحكم في ذاكرة التخزين المؤقت للتحكم في ذاكرة التخزين المؤقت للصفحات. فيما يلي بعض المعلمات شائعة الاستخدام:
لا ينبغي أن يكون هناك ذاكرة التخزين المؤقت ، ولا متصفح أو خادم ذاكرة التخزين المؤقت.
عام ، يمكن لكل من المتصفح وخادم ذاكرة التخزين المؤقت معلومات صفحة التخزين المؤقت ؛
بدون متجر ، لا ينبغي تخزين معلومات الطلب والاستجابة في نظام القرص للطرف الآخر ؛
يجب إعادة تقييم ، لكل طلب من العميل ، يجب أن يرغب خادم الوكيل في أن يتحقق الخادم من أن ذاكرة التخزين المؤقت قديمة ؛
المعدّل الأخير فقط وقت الجيل الأخير من الصفحة ، تنسيق GMT ؛
تعني قيمة الحد الأقصى المنتهية الصلاحية ، وتنسيق GMT ، أنه يجب على المتصفح أو خادم ذاكرة التخزين المؤقت الحصول على معلومات صفحة جديدة من الخادم الحقيقي بعد هذه النقطة الزمنية ؛
يتم تعيين القيمتين أعلاه على تنسيق GMT من نوع الأحرف في JSP ، ولا يمكن أن يكون مفيدًا ، لذلك يتم تعيين النوع الطويل ليتحول ؛
فيما يلي رمز المرشح الذي يحدد:
<span style = "font-size: 24px ؛"> package cn.hncu.filter ؛ استيراد java.io.ioException ؛ استيراد javax.servlet.filter ؛ استيراد javax.servlet.filterchain ؛ استيراد javax.servlet.filterConfig ؛ استيراد javax.servlet.servletexception ؛ استيراد javax.servlet.servletrequest ؛ استيراد javax.servlet.servletResponse ؛ استيراد javax.servlet.http.httpservletrequest ؛ استيراد javax.servlet.http.httpservletresponse ؛ تنفذ الفئة العامة cachefilter filter {Override public void Dride () {} </span> <span style = "font-size: 24px ؛"> @Override public void dofilter (servletrequest request ، servletResponse dropion ، filterchain chain) يلحق ioexception ، servlexpection {// filters لها العديد من الدالات. يتم استخدام هذا لتعيين ما إذا كان العميل يحدد ذاكرة التخزين المؤقت. نستخدم الاستجابة هنا لإخطار العميل بإعداد سلسلة. dofilter (طلب ، استجابة) ؛ httpservletresponse res = (httpservletresponse) ؛ Res.Setheader ("المصاريم" ، "-1") ؛ Res.Setheader ("pragma" ، "no-cache") ؛ Res.Setheader ("Cache-Control" ، "no-cache") ؛ /*يمكن تعيين ما ورد أعلاه على عدم ذاكرة التخزين المؤقت ، ولكن يمكن أيضًا ضبطه ليكون أكثر شمولاً: // لا يُسمح لجانب المتصفح أو خادم ذاكرة التخزين المؤقت بتخزين معلومات الصفحة الحالية. /* response.setheader ("pragma" ، "no-cache") ؛ استجابة. Response.Addheader ("Cache-Control" ، "عدم وجود آذان") ؛ // لا يجب على المتصفح ولا خادم ذاكرة التخزين المؤقت استجابة معلومات صفحة التخزين المؤقت. العميل ، يجب أن يرغب خادم الوكيل في التحقق من ما إذا كانت ذاكرة التخزين المؤقت قديمة ؛ } Override public void init (filterConfig arg0) يلقي servletexception {}} </span> <span style = "font-size: 18px ؛"> </span>فيما يلي ملف المرشح الذي يضبط ذاكرة التخزين المؤقت
حزمة cn.hncu.filter ؛ استيراد java.io.ioException ؛ استيراد java.util.date ؛ استيراد javax.servlet.filter ؛ استيراد javax.servlet.filterchain ؛ استيراد javax.servlet.filterConfig ؛ استيراد javax.servlet.servletexception ؛ استيراد javax.servlet.servletrequest ؛ استيراد javax.servlet.servletResponse ؛ استيراد javax.servlet.http.httpservletresponse ؛ الطبقة العامة cachefilter2 تنفذ filter {Override public void Dorner () {} Override public void dofilter (servletRequest request ، servletResponse ، rems rems remrows ioexception ، servletexception {// filters لها العديد من الوظائف. يتم استخدام هذا لتعيين ما إذا كان العميل يحدد ذاكرة التخزين المؤقت. نستخدم استجابة لإخطار العميل بتعيين ذاكرة التخزين المؤقت // تعيين ذاكرة التخزين المؤقت ليوم واحد هنا لتمكين مورد فئة الصورة والفيديو (تكوين مسار التقاطع المقابل في المرشح) لطلب متصفح العميل إلى ذاكرة التخزين المؤقت ليوم واحد) res = (httpservletresponse) ؛ التاريخ d = تاريخ جديد () ؛ وقت طويل = d.getTime ()+60*60*24 ؛ // res.Setheader ("Expries" ، ""+time) ؛ // بهذه الطريقة ، قم بتعيين ذاكرة التخزين المؤقت ليوم واحد Res.SetDateHeader ("المصاريم" ، الوقت) ؛ // مثل الجملة أعلاه/تاريخ تاريخ = تاريخ جديد () ؛ Response.setDateHeader ("Last-modified" ، date.getTime ()) ؛ // المعدل الأخير: وقت الجيل الأخير من page response. // انتهاء الصلاحية: استجابة حد انتهاء الصلاحية. // عناصر تحكم في Cache-Control ما إذا كانت الصفحة مخزنة مؤقتًا ، علنًا: يمكن لكل من المتصفح وخادم ذاكرة التخزين المؤقت معلومات صفحة التخزين المؤقت ؛ Response.Setheader ("Pragma" ، "Pragma") ؛ .ملاحظة: يجب تكوين ملف التصفية أعلاه في web.xml للتصفية وفقًا للمسار المكون.
ما ورد أعلاه هو التفسير التفصيلي لما إذا كان إعداد مرشح مرشح Javaee هو مثيلات مخزنة مؤقتًا من قبل المحرر. آمل أن يكون ذلك مفيدًا للجميع. إذا كان لديك أي أسئلة ، فيرجى ترك رسالة لي وسوف يرد المحرر على الجميع في الوقت المناسب. شكرا جزيلا لدعمكم لموقع wulin.com!