Prévia do material em texto
UNIVERSIDADE VEIGA DE ALMEIDA
GRADUAÇÃO EM ANÁLISE E
DESENVOLVIMENTO DE SISTEMAS
TRABALHANDO COM PÁGINAS JSP.
JAIME DE MELO MORAES
MATRÍCULA:1220200564
DUQUE DE CAXIAS
2024
JAIME DE MELO MORAES
MATRÍCULA:1220200564
TRABALHANDO COM PÁGINAS JSP.
Trabalho apresentado para avaliação
da disciplina DESENVOLVIMENTO DE APLICAÇÕES DISTRIBUTIVAS E WEB
Curso superior em análise e desenvolvimento de sistema
da instituição Veiga de almeida
ministrado pelo professor LEANDRO SADY RODRIGUES.
Transcrição do enunciado:
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.
Resposta:
Arquivo: 'calcula.jsp'
JSP
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html>
<head>
<title>Calculadora JSP</title>
</head>
<body>
<h1>Calculadora JSP</h1>
<form action="Calculo" method="post">
<label for="valor1">Valor 1:</label>
<input type="text" id="valor1" name="valor1" value="${param.valor1}">
<span style="color:red;">${erroValor1}</span>
<br>
<label for="valor2">Valor 2:</label>
<input type="text" id="valor2" name="valor2" value="${param.valor2}">
<span style="color:red;">${erroValor2}</span>
<br>
<label for="operacao">Operação:</label>
<select id="operacao" name="operacao">
<option value="+">+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
</select>
<br>
<input type="submit" value="Calcular">
</form>
<h2>Resultado:</h2>
<p>${expressao}</p>
<p>${resultado}</p>
<span style="color:red;">${erroDivisao}</span>
</body>
</html>
Arquivo: '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 expressao = "";
String resultado = "";
try {
float valor1 = Float.parseFloat(valor1Str);
} catch (NumberFormatException e) {
erroValor1 = "Valor 1 inválido";
}
try {
float valor2 = Float.parseFloat(valor2Str);
} catch (NumberFormatException e) {
erroValor2 = "Valor 2 inválido";
}
if (erroValor1 == null && erroValor2 == null) {
float valor1 = Float.parseFloat(valor1Str);
float valor2 = Float.parseFloat(valor2Str);
float res = 0;
switch (operacao) {
case "+":
res = valor1 + valor2;
expressao = valor1 + " + " + valor2;
break;
case "-":
res = valor1 - valor2;
expressao = valor1 + " - " + valor2;
break;
case "*":
res = valor1 * valor2;
expressao = valor1 + " * " + valor2;
break;
case "/":
if (valor2 != 0) {
res = valor1 / valor2;
expressao = valor1 + " / " + valor2;
} else {
erroDivisao = "Erro: divisão por zero";
}
break;
}
if (erroDivisao == null) {
resultado = "Resultado: " + res;
}
}
request.setAttribute("erroValor1", erroValor1);
request.setAttribute("erroValor2", erroValor2);
request.setAttribute("erroDivisao", erroDivisao);
request.setAttribute("expressao", expressao);
request.setAttribute("resultado", resultado);
request.getRequestDispatcher("/calcula.jsp").forward(request, response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
doPost(request, response);
}
}
Referencias:
Java Server Pages (JSP): Tutorial Completo de Java ServerPages
(devmedia.com.br)
livro-v03-figuras.pdf (unicamp.br)
E-book (instructure.com)
Vídeos da disciplina (instructure.com)
E-book (instructure.com)