8
respostas

Erro Pagina aplicacao usando @WebServlet(urlPatterns = "/busca")

Pessoal,

estou usando a @WebServlet(urlPatterns = "/busca") no meu projeto do primeiro exercicio de Servlet e quando entrou no path completo tomo o erro abaixo. O que pode está errado?

http://localhost:8080/gerenciador/index.html ESSA URL FUNCIONA http://localhost:8080/gerenciador/busca ESSSA NÃO FUNCIONA e dá a stracktrace abaixo.

Estou com dificuldade de entender o que é uma JDK versao tal, ou JEE...em relação ao Tomcat também. Teria um curso especifico para entender essa sopa de letrinhas?

HTTP Status 500 - br/com/alura/gerenciador/web/BuscaEmpresa : Unsupported major.minor version 51.0 (unable to load class br.com.alura.gerenciador.web.BuscaEmpresa)

type Exception report

message br/com/alura/gerenciador/web/BuscaEmpresa : Unsupported major.minor version 51.0 (unable to load class br.com.alura.gerenciador.web.BuscaEmpresa)

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

exception

java.lang.UnsupportedClassVersionError: br/com/alura/gerenciador/web/BuscaEmpresa : Unsupported major.minor version 51.0 (unable to load class br.com.alura.gerenciador.web.BuscaEmpresa)
    org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:3209)
    org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:1373)
    org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1861)
    org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1735)
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:495)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1115)
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
    org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
    java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    java.lang.Thread.run(Thread.java:662)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.81 logs.

Apache Tomcat/7.0.81
8 respostas

Consegui configurar algumas coisas do JRE e JDK e o erro mudou para isso.

Não funciona de jeito nenhum path BUSCA

package br.com.alura.gerenciador.web;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


@SuppressWarnings("serial")
@WebServlet(urlPatterns = "/busca")
public class BuscaEmpresa extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {

        PrintWriter writer = resp.getWriter();
        writer.println("<html>");
        writer.println("<body>");
        writer.println("Resultado da busca:<br/>");
        writer.println("</body>");
        writer.println("</html>");
    }

}
HTTP Status 404 - /gerenciador/busca

type Status report

message /gerenciador/busca

description The requested resource is not available.

Apache Tomcat/7.0.81

Paulo geralmente o erro 404 quer dizer pagina não encontrada, você tá passando a url correta?

também estou com o mesmo problema....

Boa tarde Paulo e Armando, posso tentar ajuda-los?

Qual a url que estão chamando no navegador?

Guilherme, a URL que eu estou chamando é a http://localhost:8080/gerenciador/busca mesma que é informada no exercicio.

Se eu coloco somente http://localhost:8080/gerenciador/ funciona, porém quando eu criei um novo path como explicado no exercicio, a pagina http://localhost:8080/gerenciador/busca não abre.

insira seu código aqui

Perfeito Paulo, voce me mostrar seu código, se possível subir no github por favor?

Guilherme, obrigado mas eu descobri o erro. Na verdade tem uma divergência no curso. No curso pede para salvar a Servlet BuscaEmpresa no pacote br.com.alura.gerenciador.WEB. Acontece que no projeto não existe esse pacote, tendo somente o pacote br.com.alura.gerenciador. Como não tinha eu criei e estava executando a classe nesse pacote que criei, sem sucesso. Dai eu deletei o pacote que criei e coloquei a classe no pacote gerenciador já existente e funcionou.

Que bom Paulo. Quando estiver em algum curso que falamos para criar um classe em um pacote, caso ele não existe, pode cria-lo mesmo!

Abraços e bons estudos