bonjour,
je développe une calculatrice en utilisant Tomcat 8.0 et eclipse (luna) Java EE, j'utilise le patern MVC, j'ai codé une jsp, une servlet et un bean !
je sais quant il y a une action de l'utilisateur je doit utiliser la méthode DoPost().
Voici mon code :
1/ JSP
2/ servlet
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!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=UTF-8"> <title>Calculatrice</title> </head> <body> <header>Calculatrice</header> </br> <label>Nombre N°1</label> <input type="text" id="num1"></input> <div class="clearBoth"></div> <label>Nombre N°2</label> <input type="text" id="num2"></input> <div class="clearBoth"></div> <select name="operand"> <option value="+">Addition</option> <option value="-">Soustraction</option> <option value="*">Multiplication</option> <option value="/">Division</option> <input type="submit" name="submit" value="OK" /> </select> <form action="Process" method="post"> <button type="button">Calculer</button> </form> <label>Total</label> <input type="text" id="total"></input> <div class="clearBoth"></div> </body> </html>
3/ la bean
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72 package com.calculator.servlets; import java.io.IOException; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.calculator.beans.Calculer; /** * Servlet implementation class calculator */ @WebServlet("/calculator") public class Calculator extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public Calculator() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub //this.getServletContext().getRequestDispatcher("/WEB-INF/calculator.jsp").forward(request, response); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub String num1= request.getParameter("num1"); String num2= request.getParameter("num2"); request.getParameter("operand"); double num11 = Double.valueOf(num1); double num22 = Double.valueOf(num2); double total = 0; String operand = "+"; Calculer Calculer = new Calculer(num11, num22, total, operand); Calculer.setNum1(num11); Calculer.setNum2(num22); request.setAttribute("calculer", Calculer); request.getParameter("operand"); request.setAttribute("operand", operand); request.setAttribute("calculer", Calculer); request.setAttribute(operand, Calculer.gettotal()); RequestDispatcher dispatcher = request.getRequestDispatcher("index.jsp"); dispatcher.forward(request, response); } }
Le probléme c'est que j'affiche une page blanche donc je pence que j'ai oublier une ou de ligne de code DoPost() dans ma servlet ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63 package com.calculator.beans; public class Calculer { private double num1; private double num2; private String operand; private double total; public Calculer(double num1, double num2, double total, String operand) { this.num1 = num1; this.num2 = num2; this.total= total; this.operand = operand; } public double getNum1() { return num1; } public void setNum1(double num1) { this.num1 = num1; } public double getNum2() { return num2; } public void setNum2(double num2) { this.num2 = num2; } public double gettotal() { return num2; } public void settotal(double total) { if (operand.equals("+")) { total = num1 + num2; } else if (operand.equals("-")){ total = num1 - num2; } else if (operand.equals("*")){ total = num1 * num2; } else if (operand.equals("/")){ total = num1 / num2; this.num2 = total;} } public String getOperand() { return operand; } public void setOperand(String operand) { this.operand = operand; } }
J'aimerais que quelqu'un me reponde !
Philippe
Partager