Exécuter un servlet écrit en java grace à un script javascript

Fermé
truc - 8 janv. 2014 à 11:45
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 - 8 janv. 2014 à 19:17
Bonjour,
Donc voila je souhaite appeller un servlet écrit en java dans mon script javascript qui lui même est appeller dans ma page html.

Voici mon codages:
fichier .html (avec script javascript)
<script type="text/javascript">
source = "";
// variable globale à cette page
function sseConnexion() {
source = new EventSource("SSEServer");
// provoque un GET
source.onmessage = function(event) {
document.getElementById("reception").innerHTML += event.data + "<br>";
};
}
function sseDeconnexion() {
source.close();
}
</script>

<form name="sseForm">
<input type="button" value="SSE Connexion" onClick="sseConnexion()">
<input type="button" value="SSE Déconnexion" onClick="sseDeconnexion()">
</form>
html
<p id="reception"></p>

fichier .jsp (mon code écrit en java):
package SSE;
import java.io.IOException;
@WebServlet(urlPatterns = {"/SSEServer"})
public class SSEServer extends HttpServlet {
/* Handles the HTTP <code>GET
method. */
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
/* Handles the HTTP
POST
method. */
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/event-stream;charset=UTF-8");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Connection", "keep-alive");
PrintWriter out = response.getWriter();
while (true) {
out.print("id: " + "ServerTime" + "\n");
// event.id = "ServerTime"
out.print("data: " + DateFormat.getTimeInstance().format(new Date()) + "\n\n");
out.flush();
try {
Thread.sleep(5000);
// toute les 5 secondes
} catch (InterruptedException e) {}
}
}
}
</code>
A voir également:

1 réponse

KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
8 janv. 2014 à 19:17
"fichier .jsp (mon code écrit en java)"
Tu as écrit ta servlet dans un fichier JSP !!?

Les servlet s'écrivent dans des fichiers Java qu'il faut compiler avec le reste du projet.
Les fichiers .jsp c'est du pseudo html qui sera ensuite implicitement traduit par le serveur en une servlet. Mais tu n'en as pas besoin ici vu que tu utilises directement le response.getWriter().

Ce serait peut-être bien de te prendre un petit tuto sur les servlet avant de commencer, histoire de comprendre comment ça marche.

Un exemple de projet JSP pour commencer :
https://forums.commentcamarche.net/forum/affich-37593939-application-web-jsp-jetty-avec-maven
0