Как получить атрибуты запроса из сервлета? - PullRequest
1 голос
/ 26 марта 2020

Я создаю базовый c веб-сайт, на котором вы можете добавлять товары в базу данных. Проблема заключается в заполнении формы для добавления товара в файл JSP. Я могу отправить форму, но ответ не получен из сервлета. Как только форма отправлена, форма снова пуста. Это происходит неоднократно, если я не заставляю возникновение FormatNumberException. Я искал, но пока не нашел решения.

Заранее благодарен за помощь.

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>JSP Page</title>
</head>
<body>
    Ingrese un producto
    <hr>
    <% if(request.getAttribute("mensaje")!= null){
        out.print(request.getAttribute("mensaje"));
        }
    %>
    <form action="IngresarServlet" method="POST">
        Descripción: <input type="text" name="descr"/><br>
        Precio: <input type="text" name="precio"/><br>
        <input type="submit" value="enviar">
    </form>

</body>

@WebServlet(name = "IngresarServlet", urlPatterns = {"/IngresarServlet"})
public class IngresarServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        String descripcion = request.getParameter("descr");
        Double precio = Double.valueOf(request.getParameter("precio"));

        Producto p = new Producto(descripcion, precio);

        ProductoDAO dao = new ProductoDAO();
        try {
            dao.insertar(p);
            request.setAttribute("mensaje", "El producto se ha insertado correctamente.");
        } catch (Exception ex) {
            request.setAttribute("mensaje", ex.getMessage());
        }
        request.getRequestDispatcher("Ingresar.jsp").forward(request, response);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...