JSP รองรับ auto refresh ด้วย response.setIntHeader("Refresh", seconds)
เมธอด
public void setIntHeader(String header, int headerValue)
ส่ง header Refresh: 5 ให้ browser reload ทุก 5 วินาที
ตัวอย่าง: นาฬิกาดิจิทัล Auto Refresh
<%@ page import="java.io.*,java.util.*" %>
<html>
<head><title>Auto Refresh Demo</title></head>
<body>
<center>
<h2>Auto Refresh Header Example</h2>
<%
// Refresh ทุก 5 วินาที
response.setIntHeader("Refresh", 5);
Calendar cal = new GregorianCalendar();
String am_pm = (cal.get(Calendar.AM_PM) == 0) ? "AM" : "PM";
int hour = cal.get(Calendar.HOUR);
int minute = cal.get(Calendar.MINUTE);
int second = cal.get(Calendar.SECOND);
String time = hour + ":" + minute + ":" + second + " " + am_pm;
out.println("Current Time: " + time);
%>
</center>
</body>
</html>
ผลลัพธ์
Auto Refresh Header Example Current Time: 9:44:50 PM
หน้าจะโหลดใหม่ทุก 5 วินาที แสดงเวลาอัปเดต
วิธีอื่น: HTML Meta Tag
<meta http-equiv="refresh" content="5"> <!-- หรือ redirect --> <meta http-equiv="refresh" content="5;url=https://example.com">
ข้อควรพิจารณา
- Auto refresh ใช้ bandwidth และ server resources เพิ่ม
- ไม่เหมาะสำหรับหน้าที่มี form input (user จะเสียข้อมูลตอน refresh)
- สมัยใหม่ควรใช้ AJAX polling หรือ WebSocket/Server-Sent Events แทน
- ตั้งค่า cache headers ให้เหมาะสม
ยกเลิก Auto Refresh
ไม่ส่ง header Refresh หรือตั้งค่าเป็น -1 (ขึ้นอยู่กับ browser)