O grande segredo esta nos jars jackson. Entao vamos la...Crie um Dynamic Web Project no Eclipse:Minha estrutura ficou assim:Os jars necessarios para aplicacao funcionar estao ai. No meu caso, utilizei o servidor Weblogic, mas poderia ser o Tomcat, por exemplo.web.xml LaboratorioRest RestController com.sun.jersey.spi.container.servlet.ServletContainer com.sun.jersey.config.property.packages br.com.adriano.rest com.sun.jersey.api.json.POJOMappingFeature true RestController /* Entendendo...Definimos um nome para servlet para garantir acesso a API Rest.RestControllercom.sun.jersey.spi.container.servlet.ServletContainerDefinimos um parametro para dizer qual package vai conter os servicos Rest. com.sun.jersey.config.property.packages br.com.adriano.restOutro parametro necessario para o Jersey converter o objeto em JSON. com.sun.jersey.api.json.POJOMappingFeature trueUsuario.javapackage br.com.adriano.model;import javax.xml.bind.annotation.*;public class Usuario { private String login; private String senha; public String getLogin() { return login; } public void setLogin(String login) { this.login = login; } public String getSenha() { return senha; } public void setSenha(String senha) { this.senha = senha; } @Override public String toString() { return super.toString(); }}Caso queira retornar XML, voce deve anotar @XmlRootElement na classe Usuario. Para Json nao e necessario.UsuarioResource.javapackage br.com.adriano.rest;import java.util.*;import javax.ws.rs.*;import javax.ws.rs.core.*;import br.com.adriano.model.*;@Path("/usuarios")public class UsuarioResouce { static private Map usuarioMap; static { usuarioMap = new HashMap(); Usuario usuario1 = new Usuario(); usuario1.setLogin("admin"); usuario1.setSenha("passAdmin"); usuarioMap.put(1, usuario1); Usuario usuario2 = new Usuario(); usuario2.setLogin("adriano"); usuario2.setSenha("adr123"); usuarioMap.put(2, usuario2); } @GET @Path("/json") @Produces(MediaType.APPLICATION_JSON) public List getUsuarios() { return new ArrayList(usuarioMap.values()); }}Entendendo...@Path e o caminho que sera acessado pela url para chegar ate nossa classe UsuarioResource.@Path("/usuarios")public class UsuarioResouce Criei uma massa de dados como teste apenas para emular dados vindo do banco. static private Map usuarioMap; static { usuarioMap = new HashMap(); Usuario usuario1 = new Usuario(); usuario1.setLogin("admin"); usuario1.setSenha("passAdmin"); usuarioMap.put(1, usuario1); Usuario usuario2 = new Usuario(); usuario2.setLogin("adriano"); usuario2.setSenha("adr123"); usuarioMap.put(2, usuario2); }@Produces - Definimos o tipo de retorno de dados que queremos, no caso, JSON. (Caso queria XML utilize ("text/xml"). @GET @Path("/json") @Produces(MediaType.APPLICATION_JSON) public List getUsuarios() { return new ArrayList(usuarioMap.values()); }A partir dai, podemos subir a aplicacao. Abra o browser e digite o caminho da url do seu projeto. No meu caso foi http://localhost:7001/LaboratorioRest/usuarios/json. Deve aparecer a lista do objeto Usuario em JSON. [{"login":"admin","senha":"passAdmin"},{"login":"adriano","senha":"adr123"}]Bom, e isso! Sem os jars 'jackson' a pagina nao retornava o json. Espero ter ajudado.Codigo disponivel em: https://github.com/adrianonegrao/angular-js pasta lab-rest.[]s