5
respostas

HTTP Status 500 ? Internal Server Error

Estou utilizando o Toncat 9, eo ao tentar listar as empresas aparece o erro HTTP Status 500 ?

Internal Server Error

org.apache.jasper.JasperException: An exception occurred processing [listEmpresas.jsp] at line [14]

11: <body>
12: 
13:     <ul>
14:         <c:forEach items="${empresas}" var="empresa">
15:             <li>${empresa.nome }</li>
16:         </c:forEach>
17:     </ul>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@ page import="java.util.List, com.mtisi.model.EmpresaModel"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>

    <ul>
        <c:forEach items="${empresas}" var="empresa">
            <li>${empresa.nome }</li>
        </c:forEach>
    </ul>

</body>
</html>
5 respostas

Oi Rafael

Qual é a stack completa do erro que aparece para você desse JasperException? Envia o código do Servlet que tem a declaração da variável empresas também, por favor.

Estou com o mesmo problema, com esse erro 500, conseguem me ajudar? Entendo que podemos trocar o Tomcat para o 9 e vai rodar, mas pq não roda na versão 10, ou o que fazer para rodar?

Tomcat: 10.0.5

ListaEmpresasServlet.java:

package br.com.alura.gerenciador.servlet;

import java.io.IOException;
import java.util.List;

import jakarta.servlet.RequestDispatcher;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

@WebServlet("/listaEmpresas")
public class ListaEmpresasServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    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);

    }

}

STACK:

HTTP Status 500 – Internal Server Error
Type Exception Report

Message java.lang.NoClassDefFoundError: javax/servlet/jsp/tagext/TagLibraryValidator

Description The server encountered an unexpected condition that prevented it from fulfilling the request.

Exception

jakarta.servlet.ServletException: java.lang.NoClassDefFoundError: javax/servlet/jsp/tagext/TagLibraryValidator
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:332)
    jakarta.servlet.http.HttpServlet.service(HttpServlet.java:770)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
    br.com.alura.gerenciador.servlet.ListaEmpresasServlet.doGet(ListaEmpresasServlet.java:28)
    jakarta.servlet.http.HttpServlet.service(HttpServlet.java:663)
    jakarta.servlet.http.HttpServlet.service(HttpServlet.java:770)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)

Oi Thiago

Dentro da pasta /gerenciador/WebContent/WEB-INF/lib/ adicione a lib do jakarta.servlet.jsp.jstl, você pode baixar ela pelo link https://mvnrepository.com/artifact/jakarta.servlet.jsp.jstl/jakarta.servlet.jsp.jstl-api/2.0.0 clicando em "Files jar (44 KB)"

Oi pessoal!

Estou com o mesmo problema, como muitos aqui no fórum. Realizei o processo informado pelo Otávio e continuo com o mesmo erro. :(

Oi Emanuelle,

Adicione a lib jakarta.servlet.jsp.jstl/2.0.0 que segue no link abaixo.

https://repo.maven.apache.org/maven2/org/glassfish/web/jakarta.servlet.jsp.jstl/2.0.0/jakarta.servlet.jsp.jstl-2.0.0.jar

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software