Chiamare il metodo Java da html senza usare un servlet

Ho il mio index.html che ha una certa vista, e voglio aggiornare questa vista (senza redirect o ricaricare la pagina) chiamando un metodo java, che consuma un servizio web e recupera i dati. Voglio visualizzare i dati nel mio index.html . Ho provato a utilizzare un servlet ma reindirizza a un altro URL e non è quello che voglio fare.

C’è un modo per chiamare un java o visualizzare gli attributi di una class java nel mio index.html ?

Vorrei usare jquery e fare chiamate ajax al server. Una volta terminata la chiamata ajax, è ansible aggiornare il file index.html utilizzando javascript e non ricaricare la pagina.

È ansible utilizzare servlet, ma è necessario utilizzare Ajax per effettuare chiamate asincrone al servlet senza ricaricare l’intera pagina.

 $.ajax({ type:"post", url: "redirector?operacion=515&id_orden="+id_orden+"&id_acto="+id_acto, dataType: "text", success: function(response){ //Do the stuffs you need with the response here. }, error: function(response,error){ console.log(response); console.log(error); } }); 

Questo è un esempio di chiamata ajax con jquery dove “redirector” è il nome del mio servlet e sul mio servlet questo è il codice che ho:

 case 515: PrintWriter writer = response.getWriter(); response.setContentType("text/html"); response.setCharacterEncoding("UTF-8"); try { Integer id_acto = Integer.parseInt(request.getParameter("id_acto")); String resultado = consultasBBDD.consultarNivelesPorActo(id_acto); writer.print(resultado); } catch (Exception e) { System.out.println("Error recuperando niveles de exigencia"); } writer.flush(); writer.close(); break; 

dataType della chiamata ajax devi specificare il tipo di risposta. Ricorda anche che sul tuo servlet non puoi fare request.getRequestDispatcher(urlToGo); quando fai chiamate ajax.

Spero che questo aiuto e mi dispiace per il mio inglese orribile!

Un approccio consiste nell’esporre la funzionalità Java come servizio REST.

Punto finale Jersey REST

 @Path("/rest/emp/") public class EmployeeService { @GET @Path("/{param}") public EmployeDTO getMsg(@PathParam("param") String id) { return getEmployeeDetails(id); } } 

EmployeDTO.java

 String name; String id; String address; //getters and setters 

index.html

    Sample Page     

The ID is:

The Employee Name:

The Employee Address:

employee.js

 $(document).ready(function() { $.ajax({ url: "/rest/emp/10" (Your Rest end point URL) }).then(function(data) { $('#eid').append(data.id); $('#eName').append(data.name); $('#eAddress').append(data.address); }); });