Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Problemas ao acessar o servidor

Boa noite comunidade,

Estou me baseando no projeto do curso "JAX-RS e Jersey : Domine a criação de webservices REST" que por sinal está funcionando normalmente.

Criei toda estrutura do projeto, importei libs e tudo ok.

Ao executar o servidor tudo ocorre normal, mas ao acessar a url: localhost:8080/produtos/1, tomo o erro O Firefox não conseguiu estabelecer uma conexão com o servidor localhost:8080

ja revirei tudo e não consigo achar o problema. ps: o projeto do curso está ok, mas nesse segundo projeto não.

notei que está informando no log : INFORMAÇÕES: Started listener bound to [0.0.0.0:80]

creio que seja ai o problema, mas não sei ao certo.

segue o Log:

dez 07, 2017 8:37:38 PM org.glassfish.jersey.server.ApplicationHandler initialize
INFORMAÇÕES: Initiating Jersey application, version Jersey: 2.5 2013-12-18 14:27:29...
dez 07, 2017 8:37:38 PM org.glassfish.grizzly.http.server.NetworkListener start
INFORMAÇÕES: Started listener bound to [0.0.0.0:80]
dez 07, 2017 8:37:38 PM org.glassfish.grizzly.http.server.HttpServer start
INFORMAÇÕES: [HttpServer] Started.
Server rodando

segue as classes:

package br.com.aos.lanshow.server;


import java.io.IOException;
import java.net.URI;

import org.glassfish.grizzly.http.server.HttpServer;
import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory;
import org.glassfish.jersey.server.ResourceConfig;

public class Servidor {

    private static HttpServer server;

    public static void main(String[] args) throws IOException{

        startServer();
        System.out.println("Server rodando");
        System.in.read();
        server.stop();

    }

    public static HttpServer startServer() {
        ResourceConfig config = new ResourceConfig().packages("br.com.aos.lanshow");
        URI uri = URI.create("http:/localhost:8080/");
        HttpServer server = GrizzlyHttpServerFactory.createHttpServer(uri, config);
        return server;
    }

}
package br.com.aos.lanshow.resource;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

import br.com.aos.lanshow.modelo.Produto;
import br.com.aos.lanshow.util.Fachada;

@Path("/produtos")
public class ProdutoResource {
    Fachada f = Fachada.getInstancia();

    @Path("/{id}")
    @GET
    @Produces(MediaType.APPLICATION_JSON)
    public String busca(@PathParam("id") long id) throws Exception {
        Produto p = f.buscarProduto(id);
        return p.toJson();
    }
}
<?xml version="1.0" encoding="UTF-8"?>
<!-- This web.xml file is not required when using Servlet 3.0 container,
     see implementation details http://jersey.java.net/nonav/documentation/latest/jax-rs.html -->
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    <servlet>
        <servlet-name>Jersey Web Application</servlet-name>
        <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
        <init-param>
            <param-name>jersey.config.server.provider.packages</param-name>
            <param-value>br.com.aos.lanshow.resource</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>Jersey Web Application</servlet-name>
        <url-pattern>/webapi/*</url-pattern>
    </servlet-mapping>
</web-app>

Desde já agradeço.

1 resposta
solução!

Ok, encontrei o erro

na URI estava faltando uma barra, "http:/localhost:8080/" a noite toda por uma barra =D