Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Erro ao executar o arquivo listaEmpresas.jsp

Boa noite!

Quando executo http://localhost:8080/gerenciador/listaEmpresas a aplicação é executada normalmente, mas quando coloco http://localhost:8080/gerenciador/listaEmpresas.jsp dar erro 500 (segue abaixo).

Poderiam me ajudar entender o porque disso?

@braço!

HTTP Status 500 – Internal Server Error
Type Exception Report

Message An exception occurred processing [listaEmpresas.jsp] at line [17]

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

Exception

org.apache.jasper.JasperException: An exception occurred processing [listaEmpresas.jsp] at line [17]

14:     <ul>
15:         <%
16:             List<Empresa> lista = (List<Empresa>)request.getAttribute("empresas");
17:             for (Empresa empresa : lista) {
18:         %>
19:         <li><%= empresa.getNome() %></li>
20:         <%


Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:625)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:514)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
Root Cause

java.lang.NullPointerException
    org.apache.jsp.listaEmpresas_jsp._jspService(listaEmpresas_jsp.java:135)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:476)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
Note A pilha de erros completa da causa principal está disponível nos logs do servidor.

Apache Tomcat/9.0.17
6 respostas

Oi Joás, tudo bem?

Posta o código do seu listaEmpresas.jsp, por favor.

Opa, bem e vc?

Segue o código:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page
    import="java.util.List, br.com.caelum.gerenciador.servlet.Empresa"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
    Lista de empresas:
    <br />
    <ul>
        <%
            List<Empresa> lista = (List<Empresa>)request.getAttribute("empresas");
            for (Empresa empresa : lista) {
        %>
        <li><%= empresa.getNome() %></li>
        <%
            }
        %>
    </ul>
</body>
</html>

@braço!

Boa tarde!

Outra coisa...

O correto é na url ter o nome do arquivo sem extensão ou com a extensão .jsp?

Exe.: http://localhost:8080/gerenciador/listaEmpresas ou http://localhost:8080/gerenciador/listaEmpresas.jsp ?

@braço!

Oi José! Tudo bem?

1) Os arquivos JSP tem que possuir a extensão .jsp padrão. 2) O erro de nullpointer, acredito que a linha 16 retorne empresas nulo....

List lista = (List)request.getAttribute("empresas");

Quem está chamando essa página, se for um servlet, certifique-se que ele está armazenando a lista de empresas na request.

Caso tenha dúvidas de como fazer isso, posso te ajudar.

Sucesso e abraço,

Rodrigo

Boa noite Ronaldo! Estou bem. E você?

Quando falo da extensão não digo no nome do próprio arquivo mas, na URL (não sei se me fiz entender).

Quando ao problema, não é questão da lista está na request, e sim de quando na URL não uso a extensão do arquivo ".jsp" funciona normalmente, mas do contrário, se eu colocar a extensão dar o erro mencionado.

Então:

  • Na URL devo colocar a extensão .jsp, não devo colocar ou tanto faz?
  • Por que funciona sem a extensão e ao contrário não?

@braço!

solução!

Consegui resolver.