Supongamos que tiene 2 divs dentro de su archivo html.
<div id="div1">some text</div>
<div id="div2">some other text</div>
El programa java en sí no puede actualizar el contenido del archivo html porque el html está relacionado con el cliente, mientras que Java está relacionado con el back-end.
Sin embargo, puede comunicarse entre el servidor (el back-end) y el cliente.
De lo que estamos hablando es de AJAX, que se logra usando JavaScript, recomiendo usar jQuery, que es una biblioteca común de JavaScript.
Supongamos que desea actualizar la página cada intervalo constante, luego puede usar la función de intervalo para repetir la misma acción cada x veces.
setInterval(function()
{
alert("hi");
}, 30000);
También puedes hacerlo así:
setTimeout(foo, 30000);
Whereea foo es una función.
En lugar de la alerta ("hola") puede realizar la solicitud AJAX, que envía una solicitud al servidor y recibe cierta información (por ejemplo, el nuevo texto) que puede utilizar para cargar en el div.
Un AJAX clásico se ve así:
var fetch = true;
var url = 'someurl.java';
$.ajax(
{
type : 'post',
url : url,
dataType : 'json',
data :
{
'fetch' : fetch
},
success : function(data)
{
var res1, res2;
for(var i = 0; i < data.length; i++)
{
res1 = data[i].res1;
res2 = data[i].res2;
$('#div1').html(res1);
}
},
complete : function(data)
{
}
});
Mientras que el backend puede recibir datos POST y puede devolver un objeto de datos de información, por ejemplo (y muy preferible) JSON, hay muchos tutoriales sobre cómo hacerlo, GSON de Google es algo que yo usado hace un tiempo, podrías echarle un vistazo.
No soy un profesional con la recepción de Java POST y el retorno de JSON de ese tipo, por lo que no les daré un ejemplo con eso, pero espero que este sea un comienzo decente.