Bom dia!
Venho novamente solicitar ajuda, pois meu servidor Grizzly não sobe. Ao rodar a classe Servidor a mesma executa com sucesso e o log de start apresenta a mensagem "Servidor rodando", mas não consigo acessar as URI's pelos browsers: IE, Firefox ou chrome com mensagens de página não encontrada ou página em branco, sem informações.
Agradeço antecipadamente a quem puder me ajudar
Segue abaixo código para análise
Classe Servidor
package br.com.alura.loja;
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 {
public static void main(String[] args) throws IOException {
ResourceConfig config = new ResourceConfig().packages("br.com.alura.loja");
URI uri = URI.create("http://localhost:8080/");
HttpServer server = GrizzlyHttpServerFactory.createHttpServer(uri, config);
System.out.println("Servidor rodando");
System.in.read();
server.start();
}
}
Mensagem de Log apresentada no console do eclipse
jan 26, 2017 10:38:26 AM org.glassfish.jersey.server.ApplicationHandler initialize
INFORMAÇÕES: Initiating Jersey application, version Jersey: 2.5 2013-12-18 14:27:29...
jan 26, 2017 10:38:27 AM org.glassfish.grizzly.http.server.NetworkListener start
INFORMAÇÕES: Started listener bound to [localhost:8080]
jan 26, 2017 10:38:27 AM org.glassfish.grizzly.http.server.HttpServer start
INFORMAÇÕES: [HttpServer] Started.
Servidor rodando
Classe CarrinhoResource
package br.com.alura.loja.resource;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import br.com.alura.loja.dao.CarrinhoDAO;
import br.com.alura.loja.modelo.Carrinho;
@Path ("carrinho")
public class CarrinhoResource {
@GET
@Produces(MediaType.APPLICATION_XML)
public String busca(){
Carrinho carrinho = new CarrinhoDAO().busca(11L);
return carrinho.toXML();
}
}
Classe Carrinho
package br.com.alura.loja.modelo;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import com.google.gson.Gson;
import com.thoughtworks.xstream.XStream;
public class Carrinho {
private List<Produto> produtos = new ArrayList<Produto>();
private String rua;
private String cidade;
private long id;
public Carrinho adiciona(Produto produto) {
produtos.add(produto);
return this;
}
public Carrinho para(String rua, String cidade) {
this.rua = rua;
this.cidade = cidade;
return this;
}
public Carrinho setId(long id) {
this.id = id;
return this;
}
public String getRua() {
return rua;
}
public void setRua(String rua) {
this.rua = rua;
}
public void setCidade(String cidade) {
this.cidade = cidade;
}
public long getId() {
return id;
}
public void remove(long id) {
for (Iterator iterator = produtos.iterator(); iterator.hasNext();) {
Produto produto = (Produto) iterator.next();
if (produto.getId() == id) {
iterator.remove();
}
}
}
public void troca(Produto produto) {
remove(produto.getId());
adiciona(produto);
}
public void trocaQuantidade(Produto produto) {
for (Iterator iterator = produtos.iterator(); iterator.hasNext();) {
Produto p = (Produto) iterator.next();
if (p.getId() == produto.getId()) {
p.setQuantidade(produto.getQuantidade());
return;
}
}
}
public List<Produto> getProdutos() {
return produtos;
}
public String toXML() {
return new XStream().toXML(this);
}
}