Ed
ano passado
Parece que você está pedindo um exemplo de código para uma página JSP e um servlet. Aqui está um guia passo a passo para criar a página `calcula.jsp` e o servlet `Calculo`. ### 1. Criação da página JSP (`calcula.jsp`) ```jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> Calculadora JSP
<%= request.getAttribute("resultado") != null ? request.getAttribute("resultado") : "" %>
``` ### 2. Criação do Servlet (`Calculo.java`) ```java import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet("/Calculo") public class Calculo extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String valor1Str = request.getParameter("valor1"); String valor2Str = request.getParameter("valor2"); String operacao = request.getParameter("operacao"); String erroValor1 = null; String erroValor2 = null; String erroDivisao = null; String resultado = null; try { float valor1 = Float.parseFloat(valor1Str); float valor2 = Float.parseFloat(valor2Str); switch (operacao) { case "+": resultado = valor1 + valor2 + ""; break; case "-": resultado = valor1 - valor2 + ""; break; case "*": resultado = valor1 * valor2 + ""; break; case "/": if (valor2 == 0) { erroDivisao = "Erro: Divisão por zero!"; } else { resultado = valor1 / valor2 + ""; } break; } } catch (NumberFormatException e) { if (valor1Str.isEmpty()) { erroValor1 = "Erro: Valor 1 inválido!"; } if (valor2Str.isEmpty()) { erroValor2 = "Erro: Valor 2 inválido!"; } } request.setAttribute("erroValor1", erroValor1); request.setAttribute("erroValor2", erroValor2); request.setAttribute("erroDivisao", erroDivisao); request.setAttribute("resultado", resultado); request.getRequestDispatcher("calcula.jsp").forward(request, response); } } ``` ### Explicação 1. calcula.jsp: Esta página contém um formulário para receber dois valores e uma operação. Ela exibe mensagens de erro ao lado dos campos, se houver. 2. Calculo.java: Este servlet processa a requisição, realiza o cálculo e repassa os resultados e erros de volta para a página JSP. Com isso, você terá uma aplicação simples que realiza cálculos e trata erros de entrada. Boa sorte com seus estudos!Cadastre-se ou realize login
Ed
há 2 anos
Para melhorar a performance das páginas web ao trabalhar com JSP, é recomendado separar o código HTML do código Java. No caso do formulário de cálculo descrito, você pode criar a página JSP (calcula.jsp) com o formulário para receber os valores e a operação matemática. No entanto, para manter a boa prática de separação de responsabilidades, é sugerido que a lógica de processamento dos dados seja feita em um Servlet separado (CalculoServlet, por exemplo). Esse Servlet será responsável por receber os dados do formulário, realizar o cálculo e enviar os resultados de volta para a página JSP. Na página JSP (calcula.jsp), você pode exibir os campos do formulário para entrada dos valores e da operação, e também exibir o resultado do cálculo e possíveis mensagens de erro ao lado dos campos, conforme necessário. Lembre-se de utilizar o método Float.parseFloat(String s) para converter as Strings dos valores de entrada em números de ponto flutuante para realizar os cálculos corretamente. Certifique-se de tratar adequadamente possíveis erros de conversão e de cálculo no Servlet e enviar as informações necessárias de volta para a página JSP para exibição. Essa abordagem de separação de responsabilidades entre a página JSP e o Servlet ajudará a manter o código organizado, facilitando a manutenção e melhorando a performance da aplicação web.