1
resposta

Erro 500 ao utilizar a biblioteca JSTL

Boa tarde! Estou utilizando o Intellij e não consigo utilizar a biblioteca JSTL. Apresenta o erro 500 com a seguinte mensagem: " A uri absoluta [http://java.sun.com/jsp/jstl/core] não pode ser resolvida pelo web.xml ou pelos arquivos jar instalados com esta aplicação". Meu Toomcat é o 9.0.43 e o meu servlet utiliza o método doGet.

Segue meu código:

ListaEmpresasServlet

package br.com.alura.gerenciador.servlet;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;

@WebServlet("/listaEmpresas")
public class ListaEmpresasServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        Banco banco = new Banco();
        List<Empresa> lista = banco.getEmpresas();
        request.setAttribute("empresas", lista);

        RequestDispatcher rd = request.getRequestDispatcher("/listaEmpresas.jsp");
        rd.forward(request, response);
    }
}

ListaEmpresas.jsp

<%@ page language="java" contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" %>
<%@ page import="java.util.List, br.com.alura.gerenciador.servlet.Empresa" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
Lista de empresas : <br/>
<ul>
    <c:forEach items="${empresas}" var="empresa">
        <li>${empresa.nome}</li>
    </c:forEach>
</ul>
</body>
</html>
1 resposta

Oi João, como vai?

Sentimos muito pela demora em retornar.

O seu código me parece certo, realmente não é o problema.

Uma dúvida, seu Intellij é a versão Ultimate? Senão, teremos diversos problemas com o Tomcat, infelizmente a versão Community não dá suporte para este servidor veja as diferenças entre a versão Ultimate vs a Community.

Aguardo retorno.

Abraços