java - Prevent IE caching -


मैं Struts का उपयोग कर जावा ईई वेब अनुप्रयोग विकसित कर रहा हूं I समस्या Internet Explorer कैशिंग के साथ है यदि कोई उपयोगकर्ता लॉग आउट करता है तो वह कुछ पन्नों तक पहुंच सकता है क्योंकि वे कैश्ड हैं और कोई अनुरोध नहीं किया गया है। अगर मैं ताज़ा करता हूँ तो यह ठीक काम करता है अगर कोई उपयोगकर्ता फिर से पृष्ठ लॉगिन करता है तो वह उसे रीडायरेक्ट नहीं करेगा क्योंकि उस पेज को भी कैश्ड किया गया है।

दो समाधान मेरे मन में आते हैं:

  1. एक इंटरसेप्टर ( जैसे सबलेट फिल्टर) प्रतिक्रिया शीर्षक नो-कैश आदि में जोड़ने के लिए।
  2. या प्रत्येक पृष्ठ पर & lt; मेटा & gt; टैग डाल।

मुझे कौन सा करना चाहिए?

इसके बजाय HttpServletResponse प्रश्न के पृष्ठ (ओं) का> ताकि आपको इसे सभी पृष्ठों पर मैन्युअल रूप से कॉपी करने की आवश्यकता नहीं है:

  response.setHeader ("कैश-नियंत्रण", "नो-कैश, नो -स्टोर, अवश्य-संशोधित करें "); // HTTP 1.1। Response.setHeader ("प्रागमा", "नो-कैश"); // HTTP 1.0। Response.setDateHeader ("समाप्ति", 0); // प्रॉक्सी  

यह मैन्युअल रूप से पृष्ठ में निम्नलिखित मेटा शीर्षलेखों की सेटिंग के समान है:

  & lt; meta http-equiv = "कैश-नियंत्रण" सामग्री = "नो-कैश, नो-स्टोर, अवश्य-संशोधित करें" & gt; & Lt; मेटा http-equiv = "Pragma" सामग्री = "नो-कैश" & gt; & Lt; meta http-equiv = "समाप्ति" सामग्री = "0" & ​​gt;  

यह भी देखें परीक्षण से पहले ब्राउज़र कैश साफ़ करने के लिए मत भूलना;)


Comments