2012-07-05 68 views

Trả lời

16

Bạn có thể làm theo cách này trong JSP của bạn để prevent from caching, không có khả năng xóa bộ nhớ cache programatically:

<% response.setHeader("Cache-Control","no-cache"); //HTTP 1.1 
response.setHeader("Pragma","no-cache"); //HTTP 1.0 
response.setDateHeader ("Expires", 0); //prevents caching at the proxy server 
%> 
+0

Phải đặt mã này vào mọi Trang JSP? –

+1

thêm đoạn mã trên vào tệp jsp và bao gồm jsp đó trong tất cả các jsps khác. Hoặc một cách dễ dàng khác là thêm mã này trong khi gửi phản hồi trở lại trong bộ lọc để bạn có thể đảm bảo rằng Trình duyệt sẽ không lưu vào bộ nhớ cache dữ liệu. – UVM

+1

Tôi đã thử với mã sau đây, nó không phải là bộ nhớ đệm trang nhưng khi tôi nhấn nút quay lại trình duyệt, trình duyệt cho biết tài liệu này không còn tồn tại, tải lại trang. Tại sao nó không tự động tải lại trang? '<% response.setHeader (" Cache-Control "," no-cache "); response.setHeader ("Cache-Control", "no-store"); response.setHeader ("Pragma", "no-cache"); response.setDateHeader ("Hết hạn", 0); %> ' – Sadanand

0

Hiệu ứng tương tự có thể đạt được bằng cách sử dụng các thẻ meta trong tiêu đề HTML:

<meta http-equiv="Pragma" content="no-cache"> 
<meta http-equiv="Cache-Control"  content="no-cache"> 
<meta http-equiv="Expires" content="Sat, 01 Dec 2012 00:00:00 GMT"> 

Tiêu đề Bộ nhớ cache-Kiểm soát được thêm vào HTTP 1.1, trong khi hai tiêu đề khác cũng có trong HTTP 1.0.

+0

Không được khuyến nghị, trừ khi bạn không có lựa chọn nào khác. (Không sử dụng JSP, hoặc không thể sửa đổi các tiêu đề phản hồi tại thời điểm JSP của bạn đang chạy - có thể do một khuôn khổ không linh hoạt bạn đang sử dụng.) – Barett

1
 <% 
response.setHeader("Cache-Control", "no-cache"); 
response.setHeader("Cache-Control", "no-store"); 
response.setHeader("Pragma", "no-cache"); 
response.setDateHeader("Expires", 0); 
%> 

công việc hoàn hảo trong jsp và nhớ kiểm tra phiên

<% 

User u = (User) request.getSession().getAttribute("user"); 
if (u != null) { 
//show page 
}else{ 
// redirect to login page 
} 

%> 
0
<% 
response.addHeader("Cache-Control", "no-cache, no-store, must-revalidate"); 
response.addHeader("Pragma", "no-cache"); 
response.setDateHeader("Expires", 0); 
%> 

này đã làm việc cho tôi. Reference

Các vấn đề liên quan