page blanche avec la méthode DoPost()
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
Code:
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> |
2/ servlet
Code:
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);
}
} |
3/ la bean
Code:
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;
}
} |
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 ?
J'aimerais que quelqu'un me reponde !
Philippe