A quel moment t'es tu dis qu'avec les informations que tu fournis, qu'un simple être humain sans don d'omniscience pourrait avoir la moindre idée de ce que fait ton application?
A quel moment t'es tu dis qu'avec les informations que tu fournis, qu'un simple être humain sans don d'omniscience pourrait avoir la moindre idée de ce que fait ton application?
mon but est de resoudre ca :
j'ai trouvée une solution pour le button rejouer
mais j'ai utilisée seulement deux jsp seulement (ni servlet ni javaBeen ..) Je ne sais pas comment appliquer le modele MVC dans mon cas
la premiere : FORM.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ page import="java.util.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<h1>Le serveur a choisi un nombre secret entre 0 et 100</h1>
<form method="post" action="test.jsp">
<input type="number" name="nbr" min="0" max="100" />
<input type="submit" name="essai" value="Essai" />
<input type="submit" name="reset" value="Rejouer" />
</form>
<%
if(application.getAttribute("list")!=null)
{
ArrayList<String> r=(ArrayList)application.getAttribute("list");
for(String elt : r)
{
out.println("<p>"+elt+"<p>");
}
}
%>
</body>
</html>
la deuxieme : test.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ page import="java.util.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%
String result=null;
ArrayList<String> list = new ArrayList();
list=(ArrayList)application.getAttribute("list");
if(application.getAttribute("list")==null)
{
Random r = new Random();
int n=r.nextInt(100);
application.setAttribute("nbSecret", n);
list = new ArrayList();
list.add("<br/>Historique<br/>");
application.setAttribute("list", list);
}
if(request.getParameter("reset")!=null)
{
application.setAttribute("list", null);
response.sendRedirect("/TP3EX2/FORM.jsp");
}
else
{
int n=(Integer)application.getAttribute("nbSecret");
int m= Integer.parseInt(request.getParameter("nbr"));
if(m==n)
{
result="Nombre :"+m+" Indication : Bravo vous avez gagné(e)";
}
else
{
if(m>n)
result="Nombre :"+m+" Indication : Votre nombre est plus grand";
else
result="Nombre :"+m+" Indication : Votre nombre est plus petit";
list.add(result);
application.setAttribute("list", list);
response.sendRedirect("/TP3EX2/FORM.jsp");
}
}
%>
</body>
</html>
Donc tu as mis toute la logique dans tes JSP, c'est moche mais astucieux.
Pour avoir une application dite MVC, tu dois transvaser la logique vers un objet, afin que ta vue (JSP) n'aie que l'affichage comme responsabilité.
Ton modèle sera typiquement une classe java Game, avec une méthode d'initialisation pour définir le nombre a trouver, et une methode qui te retourne si c'est = < ou >, tu peux juste envoyer un entier avec la différence que ta vue interprètera (ex si le nombre a trouver est 10 et que tu entres 8, tu retournes 2 et la vue dira que c'est plus grand vu que 2 > 0).
Pour le Controller, une Servlet, qui créera une nouvelle instance de Game si on clic sur Rejouer et qui appelera la méthode de verif si tu clic sur essai.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
PXL Le retro gaming facile Thread sur le forum: https://openclassrooms.com/forum/sujet/retro-pxl
PXL Le retro gaming facile Thread sur le forum: https://openclassrooms.com/forum/sujet/retro-pxl