The second jsp page is not compiled, the problem is with getAttribute (). I use tomcat9
The task is to return the area of the triangle and its coordinates to the second jsp page
Servlet itself
import javax.servlet.RequestDispatcher; import java.io.*; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.http.*; import java.io.IOException; import java.lang.*; import javax.servlet.annotation.WebServlet; //@WebServlet(urlPatterns={"/TestWebApp/*"}) public class TestWebApp extends HttpServlet { public void init(ServletConfig servletConfig) { try { super.init(servletConfig); } catch (ServletException e) { e.printStackTrace(); } } @Override public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //resp.setContentType("text/html;charset=utf-8"); req.getRequestDispatcher("firstpage.jsp").forward(req, resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { double x1,x2,x3,y1,y2,y3; String XorY = req.getParameter("X1"); x1 = Double.parseDouble(XorY); XorY = req.getParameter("Y1"); y1 = Double.parseDouble(XorY); XorY =req.getParameter("X2"); x2 = Double.parseDouble(XorY); XorY = req.getParameter("Y2"); y2 = Double.parseDouble(XorY); XorY = req.getParameter("X3"); x3 = Double.parseDouble(XorY); XorY = req.getParameter("Y3"); y3 =Double.parseDouble(XorY); if (((x1 == x2)&&(x2==x3)&&(x3==x1))||((y1==y2)&&(y2==y3)&&(y3==y1))){ req.getRequestDispatcher("firstpage.jsp").forward(req, resp); } else{ double dist12, dist23, dist13; dist12 = Math.sqrt((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2)); dist23 = Math.sqrt((x2-x3)*(x2-x3) + (y2-y3)*(y2-y3)); dist13 = Math.sqrt((x1-x3)*(x1-x3) + (y1-y3)*(y1-y3)); double p = (dist12 + dist23 + dist13)/2; double Square = Math.sqrt(p*(p-dist12)*(p-dist23)*(p-dist13)); String x1s,x2s,x3s,y1s,y2s,y3s,Squares; x1s = Double.toString(x1); x2s = Double.toString(x2); x3s = Double.toString(x3); y1s = Double.toString(y1); y2s = Double.toString(y2); y3s = Double.toString(y3); Squares = Double.toString(Square); req.getSession().setAttribute("X1s", x1s); req.getSession().setAttribute("X2s", x2s); req.getSession().setAttribute("X3s", x3s); req.getSession().setAttribute("Y1s", y1s); req.getSession().setAttribute("Y2s", y2s); req.getSession().setAttribute("Y3s", y3s); req.getSession().setAttribute("Squares", Squares); req.getRequestDispatcher("secondpage.jsp").forward(req, resp); } } } first jsp page
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Square of triangle</title> <style> body { background: #c7b39b url(images/background.png); /* Цвет фона и путь к файлу */ color: white; /* Цвет текста */ } </style> </head> <body> <form action="http://localhost:8080/TestWebApp/TestWebApp" method = "post" id ="sendd"> <h1 align = "middle">Square of trinagle</h1> <p align = "middle"><img src="images/pic.jpg" alt="triforce"></p> <p align = "middle"><b>Enter first coordinate:</b><br> <p align = "middle"><b>X:</b><br> <input align = "middle" type="text" size="40" required type="text" name="X1" placeholder="Enter X1"> <p align = "middle"><b>Y:</b><br> <input align = "middle" type="text" size="40" required type="text" name="Y1" placeholder="Enter Y1"> <p align = "middle"><b>Enter second coordinate:</b><br> <p align = "middle"><b>X:</b><br> <input align = "middle" type="text" size="40" required type="text" name="X2" placeholder="Enter X2"> <p align = "middle"><b>Y:</b><br> <input align = "middle" type="text" size="40" required type="text" name="Y2" placeholder="Enter Y2"> <p align = "middle"><b>Enter third coordinate:</b><br> <p align = "middle"><b>X:</b><br> <input align = "middle" type="text" size="40" required type="text" name="X3" placeholder="Enter X3"> <p align = "middle"><b>Y:</b><br> <input align = "middle" type="text" size="40" required type="text" name="Y3" placeholder="Enter Y3"> <p align = "middle"><button type="submit" form="sendd">Send coordinates</button> </form> </body> </html> second jsp page
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ page import="javax.servlet.http.*,javax.servlet.RequestDispatcher,javax.servlet.ServletConfig,java.util.*, java.text.*,java.io.*" %> <html> <head> <title>Square of triangle</title> <style> body { background: #c7b39b url(images/background.png); /* Цвет фона и путь к файлу */ color: white; /* Цвет текста */ } </style> </head> <body> <h1 align = "middle">Square of trinagle</h1> <p align = "middle"><img src="images/pic.jpg" alt="triforce"></p> <p align = "middle"><b>First coordinate:</b><br> <p align = "middle"><b>X:</b><br> <p align = "middle"><%=req.getSession().getAttribute("X1s")%></p> <p align = "middle"><b>Y:</b><br> <p align = "middle"><%=req.getSession().getAttribute("Y1s")%></p> <p align = "middle"><b>Second coordinate:</b><br> <p align = "middle"><b>X:</b><br> <p align = "middle"><%=req.getSession().getAttribute("X2s")%></p> <p align = "middle"><b>Y:</b><br> <p align = "middle"><%=req.getSession().getAttribute("Y2s")%>oordinate:</b><br> <p align = "middle"><b>X:</b><br> <p align = "middle"><%=req.getSession().getAttribute("X3s")%></p> <p align = "middle"><b>Y:</b><br> <p align = "middle"><%=req.getSession().getAttribute("Y3s")%></p> <p align = "middle"><b>Square of triangle:</b><br> <p align = "middle"><%=req.getSession().getAttribute("Squares")%></p> </body> </html> 