WEB DEVELOPER SITE
HTMLCSSJAVASCRIPTSQLPHPBOOTSTRAPJQUERYANGULARXML
 

JSP auto refresh


Imagine how to achieve live scores, or real-time status of the stock market, or current foreign exchange ratios? Obviously, to implement this real-time feature, you have to refresh the page regularly.

JSP provides a mechanism to make this kind of work simple, it can automatically refresh the page periodically.

The easiest way to refresh a page is to use the setIntHeader() method of the response object. The signature of this method is as follows:

public  Void setIntHeader(String header, int headerValue)

This method tells the browser to refresh after a given time, in seconds.


Page auto-refresh program example

This example uses the setIntHeader() method to set the refresh header to simulate a digital clock:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.*" %>
<html>
<head>
<title>Auto refresh instance</title>
</head>
<body>

<h2>Automatic refresh</h2>
<%
   // Set to refresh every 5 seconds
   response.setIntHeader("Refresh", 5);
   // 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;
   out.println("Current time is: " + CT + "\n");
%>

</body>
</html>

Save the above code in the main.jsp file and access it. It refreshes the page every 5 seconds and gets the current time of the system. The results are as follows:

Automatically refreshing

The current time is: 6:5:36 PM

You can also write a more complicated program yourself.