0

i'm currently learning sevlets and had collided with problem. I'm trying to make "Welcome page" (index.jsp) where you can choose next page to load, then i'm using calculator page (calculator.jsp) and when i pressing submit i get this

error image

but I'm expecting to get result page (calculatorResult.jsp).

When i'm using calculator.jsp as index.jsp (without "welcome page") everything works fine.

My servlet code.

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 java.io.IOException;

@WebServlet("/calculator")
public class CalculatorServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        int number1 = Integer.parseInt(req.getParameter("no1"));
        int number2 = Integer.parseInt(req.getParameter("no2"));
        String operation = req.getParameter("operation");
        int result = 0;
        if (operation.equals("plus")) {
            result = number1 + number2;
        } else if (operation.equals("minus")) {
            result = number1 - number2;
        }
        req.setAttribute("result", Integer.valueOf(result));
        req.getRequestDispatcher("/calculatorResult.jsp").forward(req, resp);

    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req, resp);
    }
}

index.jsp

<html>
<head>
    <title>Hello</title>
</head>
<body>
<div style="text-align: center">
    <form>
        <input type="button" value="Calculator" onClick='location.href="calculator.jsp"'>
    </form>
</div>
</a>
</body>
</html>

calculator.jsp

<html>
<div style="text-align: center;">
    <br>
    <br>
    <br>
    <form method="get" action="CalculatorServlet">
        Number 1: <input type="number" name="no1"> <br>
        Number 2: <input type="number" name="no2"> <br>
        Operator:
        <select name="operation">
            <option value="plus">+</option>
            <option value="minus">-</option>
        </select>
        <br>
        <input type="submit" value="Calculate">
    </form>
</div>
</body>
</html>

calculatorResult.jsp

<html>
<head>
    <title>Result</title>
</head>
<body>
<h1>Result: ${result}</h1>
<br>
<a href="calculator.jsp">Back to calculator</a>
</body>
</html>

Please help me to fix this.

BalusC
  • 1,082,665
  • 372
  • 3,610
  • 3,555
MolecularMan
  • 227
  • 2
  • 16

0 Answers0