Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

วิธีทำ Auto Refresh ใน JSP

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)