JSP एक ऐसा तंत्र प्रदान करके इस काम को आसान बनाता है जहां आप एक वेबपेज को इस तरह बना सकते हैं कि यह दिए गए अंतराल के बाद स्वचालित रूप से रिफ्रेश हो जाए।
वेबपेज को रिफ्रेश करने का सबसे सरल तरीका रिस्पॉन्स ऑब्जेक्ट के setIntHeader() मेथड का उपयोग करना है। इस मेथड का सिग्नेचर:
public void setIntHeader(String header, int headerValue)
यह मेथड ब्राउज़र को "Refresh" हेडर को एक पूर्णांक मान के साथ वापस भेजता है जो सेकंड में समय अंतराल को इंगित करता है।
ऑटो पेज रिफ्रेश उदाहरण
निम्न उदाहरण में, हम setIntHeader() मेथड का उपयोग करके Refresh हेडर सेट करेंगे। यह डिजिटल घड़ी का अनुकरण करने में मदद करेगा।
उदाहरण: AutoRefresh.jsp
<%@ page import="java.io.*,java.util.*" %>
<html>
<head>
<title>Auto Refresh Header Example</title>
</head>
<body>
<center>
<h2>Auto Refresh Header Example</h2>
<%
// रिफ्रेश, ऑटोलोड समय 5 सेकंड सेट करें
response.setIntHeader("Refresh", 5);
// वर्तमान समय प्राप्त करें
Calendar calendar = new GregorianCalendar();
String am_pm;
int hour = calendar.get(Calendar.HOUR);
int minute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);
if (calendar.get(Calendar.AM_PM) == 0)
am_pm = "AM";
else
am_pm = "PM";
String CT = hour + ":" + minute + ":" + second + " " + am_pm;
out.println("Current Time: " + CT + "\n");
%>
</center>
</body>
</html>
आउटपुट
Auto Refresh Header Example Current Time is: 9:44:50 PM
उपरोक्त कोड को main.jsp में रखें और इसे एक्सेस करने का प्रयास करें। यह वर्तमान सिस्टम समय को हर 5 सेकंड में प्रदर्शित करेगा। बस JSP चलाएं और परिणाम देखने के लिए प्रतीक्षा करें।
वैकल्पिक दृष्टिकोण
- HTML मेटा टैग:
<meta http-equiv="refresh" content="5">(JSP कोड की आवश्यकता नहीं)। - JavaScript:
setTimeout(() => location.reload(), 5000);(क्लाइंट-साइड, अधिक नियंत्रण)। - AJAX: पूरे पेज रीलोड के बिना विशिष्ट भागों को अपडेट करें (बेहतर UX)।
विचार
- सर्वर लोड: बार-बार रिफ्रेश सर्वर लोड बढ़ाता है।
- उपयोगकर्ता अनुभव: पूर्ण पेज रीलोड विघटनकारी हो सकता है; AJAX/वेबसॉकेट्स पर विचार करें।
- कैशिंग: सुनिश्चित करें कि रिस्पॉन्स कैश न हो (
Cache-Control: no-cache)।