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

Dúvida no Ex. 1 da Aula 12 - Um padrão de controle

ERRO 500

HTTP Status 500 - java.lang.ClassNotFoundException: br.com.alura.praticasair

type Exception report

message java.lang.ClassNotFoundException: br.com.alura.praticasair

description The server encountered an internal error that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: java.lang.ClassNotFoundException: br.com.alura.praticasair br.com.alura.pratica.ServletChefe.service(ServletChefe.java:39) javax.servlet.http.HttpServlet.service(HttpServlet.java:731) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) br.com.alura.pratica.AcessoNoSite.doFilter(AcessoNoSite.java:31) root cause

java.lang.ClassNotFoundException: br.com.alura.praticasair org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1722) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1573) java.lang.Class.forName0(Native Method) java.lang.Class.forName(Class.java:191) br.com.alura.pratica.ServletChefe.service(ServletChefe.java:30) javax.servlet.http.HttpServlet.service(HttpServlet.java:731) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) br.com.alura.pratica.AcessoNoSite.doFilter(AcessoNoSite.java:31) note The full stack trace of the root cause is available in the Apache Tomcat/7.0.63 logs.

Apache Tomcat/7.0.63

7 respostas

Oi Ederson,

repare a exceção:

java.lang.ClassNotFoundException: br.com.alura.praticasair

A JVM está acusando que não conseguiu achar uma classe com nome br.com.alura.praticasair!

Eu estou imaginando que vc está chamando Class.forName(..) dentro seu servlet ServletChefe. Nesse servlet vc está montando um nome da classe e ai está dando algo errado.

Para ajudar melhor coloque o seu código aqui.

abs

Oi Eduardo,

Dá uma olhada na exceção. Ele não achou a classe br.com.alura.praticasair, que vc criou na linha ServletChefe.java:39.

Alguma coisa tá errada aí! :)

Um abraço!

SE PUDEREM AJUDAR AGRADEÇO.

package br.com.alura.pratica;

import java.io.IOException;

import javax.servlet.RequestDispatcher; 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(urlPatterns = "/chefe") public class ServletChefe extends HttpServlet {

// faz tudo @Override protected void service(HttpServletRequest requisiao, HttpServletResponse resposta) throws ServletException, IOException {

String tarefa = requisiao.getParameter("tarefa");

if (tarefa == null) { throw new IllegalArgumentException( "É necessário que se passe uma tarefa."); }

tarefa = "br.com.alura.pratica." + tarefa;

try { Class<?> tipo = Class.forName(tarefa); Tarefa instancia = (Tarefa) tipo.newInstance(); String pagina = instancia.executa(requisiao, resposta); RequestDispatcher dispatcher = requisiao .getRequestDispatcher(pagina); dispatcher.forward(requisiao, resposta);

} catch (ClassCastException | InstantiationException | IllegalAccessException | ClassNotFoundException tratar) { throw new ServletException(tratar); } }

}

a index.jsp...

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

Boa tarde!

Bem vindo(a) ${usuarioLogado.email}

Acessando Modo offlineEntre com seu Login e Senha

Email: Senha:

Publique sua empresa

Ao publicar, sua empresa constara em nosso sistema!

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

Boa tarde!

Bem vindo(a) ${usuarioLogado.email}

Acessando Modo offlineEntre com seu Login e Senha

Email: Senha:

Publique sua empresa

Ao publicar, sua empresa constara em nosso sistema!

a index não dá para copiar e colar inteira aqui

solução!

consegui pessoal, obrigado