ลองนึกภาพว่าถ้าคุณต้องการถ่ายทอดสดคะแนนของเกม หรือสถานะแบบเรียลไทม์ของตลาดหุ้น หรืออัตราแลกเปลี่ยนเงินตราต่างประเทศในปัจจุบัน จะต้องทำอย่างไรให้สำเร็จ? แน่นอนว่าเพื่อให้บรรลุฟังก์ชันแบบเรียลไทม์นี้ คุณต้องรีเฟรชหน้าเว็บเป็นประจำ
JSP จัดเตรียมกลไกเพื่อทำให้งานนี้ง่ายขึ้น ซึ่งสามารถรีเฟรชเพจโดยอัตโนมัติเป็นประจำ
วิธีที่ง่ายที่สุดในการรีเฟรชเพจคือการใช้เมธอด setIntHeader() ของออบเจ็กต์ตอบกลับ ลายเซ็นของวิธีนี้มีดังนี้:
โมฆะสาธารณะ setIntHeader (ส่วนหัว String, int headerValue)วิธีนี้จะบอกให้เบราว์เซอร์รีเฟรชหลังจากผ่านระยะเวลาที่กำหนด โดยวัดเป็นวินาที
ตัวอย่างนี้ใช้เมธอด setIntHeader() เพื่อตั้งค่าส่วนหัวรีเฟรช โดยจำลองนาฬิกาดิจิทัล:
<%@ page import="java.io.*,java.util.*" %><html><head><title>ตัวอย่างส่วนหัวรีเฟรชอัตโนมัติ</title></head><body><center><h2 >ตัวอย่างส่วนหัวรีเฟรชอัตโนมัติ</h2><% // ตั้งค่าการรีเฟรช, เวลาโหลดอัตโนมัติเป็น 5 วินาที response.setIntHeader("Refresh", 5); // รับเวลาปัจจุบัน ปฏิทินปฏิทิน = new GregorianCalendar(); int hour = Calendar.get(Calendar.HOUR); int minutes = Calendar.get(Calendar.MINUTE); int วินาที = Calendar.get(Calendar.SECOND); if(calendar.get(Calendar.AM_PM) == 0) am_pm = "AM"; else am_pm = "PM"; String CT = ชั่วโมง+"+ นาที +""+ วินาที +" "+ am_pm; out.println("เวลา Crrent: " + CT + "n"); %></center></body></html>บันทึกโค้ดด้านบนลงในไฟล์ main.jsp และเข้าถึงได้ มันจะรีเฟรชหน้าทุกๆ 5 วินาทีและรับเวลาระบบปัจจุบัน ผลการวิ่งมีดังนี้:
ตัวอย่างส่วนหัวรีเฟรชอัตโนมัติเวลาปัจจุบันคือ: 21:44:50 นคุณยังสามารถเขียนโปรแกรมที่ซับซ้อนกว่านี้ได้ด้วยตัวเอง