Servlet - Refresh Halaman Otomatis
Pertimbangkan halaman web yang menampilkan skor pertandingan langsung atau status pasar saham atau rasio pertukaran mata uang. Untuk semua jenis halaman seperti itu, Anda perlu menyegarkan halaman web Anda secara teratur menggunakan tombol segarkan atau muat ulang dengan browser Anda.
Java Servlet membuat pekerjaan ini mudah dengan memberi Anda mekanisme di mana Anda dapat membuat halaman web sedemikian rupa sehingga akan disegarkan secara otomatis setelah interval tertentu.
Cara termudah untuk menyegarkan halaman web menggunakan metode setIntHeader()objek respon. Berikut adalah tanda tangan dari metode ini -
public void setIntHeader(String header, int headerValue)
Metode ini mengirimkan kembali header "Refresh" ke browser bersama dengan nilai integer yang menunjukkan interval waktu dalam hitungan detik.
Contoh Penyegaran Halaman Otomatis
Contoh ini menunjukkan bagaimana servlet melakukan penyegaran halaman otomatis menggunakan setIntHeader() metode untuk mengatur Refresh header.
// Import required java libraries
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;
// Extend HttpServlet class
public class Refresh extends HttpServlet {
// Method to handle GET method request.
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// Set refresh, autoload time as 5 seconds
response.setIntHeader("Refresh", 5);
// Set response content type
response.setContentType("text/html");
// Get current time
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;
PrintWriter out = response.getWriter();
String title = "Auto Page Refresh using Servlet";
String docType =
"<!doctype html public \"-//w3c//dtd html 4.0 " + "transitional//en\">\n";
out.println(docType +
"<html>\n" +
"<head><title>" + title + "</title></head>\n"+
"<body bgcolor = \"#f0f0f0\">\n" +
"<h1 align = \"center\">" + title + "</h1>\n" +
"<p>Current Time is: " + CT + "</p>\n"
);
}
// Method to handle POST method request.
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
Sekarang mari kita kompilasi servlet di atas dan buat entri berikut di web.xml
....
<servlet>
<servlet-name>Refresh</servlet-name>
<servlet-class>Refresh</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Refresh</servlet-name>
<url-pattern>/Refresh</url-pattern>
</servlet-mapping>
....
Sekarang panggil servlet ini menggunakan URL http: // localhost: 8080 / Refresh yang akan menampilkan waktu sistem saat ini setelah setiap 5 detik sebagai berikut. Jalankan saja servlet dan tunggu untuk melihat hasilnya -
Auto Page Refresh using Servlet
Current Time is: 9:44:50 PM