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

duvidas nos dois primeiros topicos

pessoal boa tarde eu voltei a revisar os topicos de servlet3 e fundamentos web para um melhor entendimento e resolvi começar do zero na IDE do netbeans eu estou fazendo os codigos corretamente eu vou postar um codigo e dizer o erro, por exemplo neste codigo:

package br.com.alura.gerenciador.web;

import br.com.alura.gerenciador.Empresa; import br.com.alura.gerenciador.dao.EmpresaDAO; import java.io.IOException; import java.io.PrintWriter; import java.util.Collection; 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 = "/busca") public class BuscaEmpresa extends HttpServlet{

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

PrintWriter writer = resp.getWriter(); writer.println("

"); writer.println(""); writer.println("Resultado da busca:"); writer.println(""); writer.println("");

String filtro = req.getParameter("filtro"); Collection empresas = new EmpresaDAO().buscaPorSimilaridade(filtro);

writer.println("

  • "); for(Empresa empresa : empresas){ writer.println("
  • " + empresa.getId() + ": " + empresa.getNome() + "
  • ");

    } writer.println("

");

}

}

a mensagem que deveria aparecer no navegador seria (bem vindo ao nosso gerenciador de empresas).

mais esta dando a seguinte mensagem de erro no navegador:

HTTP Status 404 - /gerenciador/

type Status report

message /gerenciador/

description The requested resource is not available.

Apache Tomcat/8.0.21

sendo que o servidor ja esta configurado e a pagina index.html esta correta tambem

9 respostas

você apontou para a url /gerenciador/busca ?

Está mensagem está na index.html não? Se tiver para acessa-la você deve colocar a seguinte url: (localhost:8080/gerenciador).

Coloque seu código entre três acentos de crase aqui no fórum ``````, 3 antes e 3 depois do codigo para que ele fique formatado e mais legível.

olha luis eu acho que o pacote gerenciador que eu baixei do github deve ta com algum problema cara, porque eu estou fazendo dessa maneira que voce colocou localhost:8080/gerenciador e da esse erro na página do navegador

HTTP Status 404 - /gerenciador/

type Status report

message /gerenciador/

description The requested resource is not available.

Apache Tomcat/8.0.21

e eu não modifiquei em nenhum momento alguma linha de codigo que ja veio dentro do pacote gerenciador

Tenta fazer o seguinte. Apaga todo o seu workspace e inicia do zero. Tive um problema aqui e tive que fazer isso pois não cheguei a uma conclusão rápida do problema.

Importe tudo novamente e veja se vai funcionar.

volto a repetir, olha o url pattern da servlet "/busca" eu acho que tem que colocar http://localhost:8080/gerenciador/busca

olhar ricardo eu ja fiz isso cara agora que eu acho que o pessoal da alura deveria colocar uma coisa aqui no portal no meu caso que sou iniciante que fosse menos problematico possivel eu ja tentei de outas formas tipo reiniciar o projeto do zero ja troquei a versao do servidor e sempre apresenta problema a útlima tentativa agora é baixar uma ide mais atualizada

solução!

o tomcat tá configurado certinho? que tal tentarmos criar um outro projeto web desde o inicio para testar? No eclipse:

File -> New -> Other -> WEb -> Dynamic Web project

Vai aparecer o wizard de criação de novo projeto: dá um nome para o projeto(vou chamar de teste), na combobox target runtime, se o tom cat já estiver configurado direitinho ela vai estar dispinivel nessa combobox ai vc escolhe ele e clica em next, se o tom cat não for listado vc vai ter que criar um server runtime, para isso clique em new Runtime, e escolha a versão do tom cat que vc está utilizando e clique em next, no botão browse indique a localização do tom cat(no meu caso C:\apache-tomcat-8.0.24) e clique em finish e logo depois em next.

Na proxima tela aparece em cima: Configure project for building a Java application apenas clica em next

a proxima tela o título é : Configure web module settings, seleciona a caixinha onde tem para criar o arquivo web.xml e por fim em finish, finalmente tens um projeto java web criado.

Agora proximo passo, criação da servlet: clica em cima projeto teste e cria um pacote ->com o projeto selecionado + clique do botão direito do mouse-> new ->package, ai vc dá um nome para o pacote(br.com.teste.servlets)

Agora seleciona o pacote + botão direito do mouse -> new -> other -> web -> servlet -> Next

dê um nome para a servlet(TesteServlet) e depois em Finish, o eclipse já vai gerar uma servlet padrão

package br.com.teste.servlets;

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

/**
 * Servlet implementation class TesteServlet
 */
@WebServlet("/TesteServlet")
public class TesteServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public TesteServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        response.getWriter().append("Served at: ").append(request.getContextPath());
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        doGet(request, response);
    }

}

isso ai já dá pra rodar, seleciona o projeto, botão direito do mouse-> run as ->Run on server -> ele vai pedir novamente qual o tom cat, seleciona o tom cat e finish, o tom cat vai iniciar e vai abrir o browse interno do eclipse, e pasme vai dar erro 404 pois ele inicia com a url:http://localhost:8080/teste/ vc tem que passar a url que foi mapeada no seu servlet : @WebServlet("/TesteServlet")

ou seja é só mudar a url para: http://localhost:8080/teste/TesteServlet

tenta esse passo a passo e posta o resultado pra nós

E ai Ricardo blz eu demorei um pouco pra voltar no estudo de java por conta de algumas coisas acumuladas eu segui todos os seus passos e acabei descobrindo que o problema estava na configuração do tomcat como eu uso ubuntu foi um pouco mais dificil de achar um tutorial que fosse 100 por cento certo em ensinar como configura-lo mais ai eu ja resolvi e valeu por me ajudar

blz precisando tamos ai

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