Prévia do material em texto
UNIVERSIDADE VEIGA DE ALMEIDA
MATÉRIA: DESENVOLVIMENTO DE APLICAÇÕES DISTRIBUÍDAS E WEB II
AVALIAÇÃO 2
TRABALHO DA DISCIPLINA
Rio De Janeiro
2025
“Trabalhando com páginas JSP.
Para uma melhor performance das páginas web, é essencial que o código HTML seja colocado nas páginas JPS.
Crie uma página JSP (calcula.jsp) com um formulário para receber dois valores reais e uma operação (+, -, * ou /) e realizar o cálculo. O resultado deverá ser apresentado junto com a expressão. Caso haja algum erro, a mensagem deverá aparecer ao lado do campo do formulário. Dica: para fazer a conversão de String para float, utilize o método estático parseFloat() da classe Float: Float Float.parseFloat(String s).
Acrescente um servlet Calculo para processar a requisição do cálculo. A página calculo.jsp deverá se encarregar somente da apresentação dos dados.
Dicas: O servlet deve repassar para a página as seguintes informações:
Se houve erro no valor 1.
Se houve erro no valor 2.
Se houve erro de divisão.
Resultado.
Note que cada uma dessas informações pode ser nula ou não.
Revise as funções de cada um dos elementos envolvidos no processo de desenvolvimento de páginas JSP.”
CÓDIGO JSP
Calculadora JSP
Calculadora
Valor 1: ">
Valor 2: ">
Operação:
+
-
*
/
Resultado:
CÓDIGO SERVLET.JAVA
package pacote;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet(name = "CalculoServlet", urlPatterns = {"/CalculoServlet"})
public class CalculoServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String valor1 = request.getParameter("valor1");
String valor2 = request.getParameter("valor2");
String operacao = request.getParameter("operacao");
Float num1 = null, num2 = null, resultado = null;
String erro1 = null, erro2 = null, erroDiv = null;
String expressao = "";
try {
num1 = Float.parseFloat(valor1);
} catch (Exception e) {
erro1 = "Valor inválido";
}
try {
num2 = Float.parseFloat(valor2);
} catch (Exception e) {
erro2 = "Valor inválido";
}
if (erro1 == null && erro2 == null) {
switch (operacao) {
case "+":
resultado = num1 + num2;
break;
case "-":
resultado = num1 - num2;
break;
case "*":
resultado = num1 * num2;
break;
case "/":
if (num2 == 0) {
erroDiv = "Divisão por zero!";
} else {
resultado = num1 / num2;
}
break;
default:
erroDiv = "Operação inválida!";
}
}
if (resultado != null) {
expressao = num1 + " " + operacao + " " + num2 + " = " + resultado;
}
request.setAttribute("valor1", valor1);
request.setAttribute("valor2", valor2);
request.setAttribute("erro1", erro1);
request.setAttribute("erro2", erro2);
request.setAttribute("erroDiv", erroDiv);
request.setAttribute("expressao", expressao);
request.getRequestDispatcher("calcula.jsp").forward(request, response);
}
}
image1.png