获取HTTP请求的响应代码-Java

获取HTTP请求的响应代码-Java,java,rest,http,Java,Rest,Http,这里是我的问题:我想获取客户端发出的HTTP请求的响应代码 这是我的代码: @GET @Produces({MediaType.TEXT_XML, MediaType.APPLICATION_JSON , MediaType.APPLICATION_XML }) public List<Person> getPersonsBrowser() throws IOException { int code = 0; try { URL url

这里是我的问题:我想获取客户端发出的HTTP请求的响应代码

这是我的代码:

@GET
@Produces({MediaType.TEXT_XML,  MediaType.APPLICATION_JSON ,  MediaType.APPLICATION_XML })
public List<Person> getPersonsBrowser() throws IOException {

    int code = 0;
    try
    {
        URL url = new URL(uriInfo.getAbsolutePath().toString());
        HttpURLConnection connection = (HttpURLConnection)url.openConnection();
        connection.setRequestMethod("GET");
        connection.connect();

        code = connection.getResponseCode();  

    }
    catch(Exception e)
    {

    }

    System.out.println("code: "+code);
    System.out.println("Request #1: "+ request.getMethod() + " /"+uriInfo.getPath() + "Accept: ");

    //System.out.println("Getting list of people...");
    List<Person> people = Person.getAll();

    //System.out.println("----"+people.get(1));
    return people;
}
这是类PersonModel.java的getAll方法:

@NamedQuery(name="Person.findAll", query="SELECT p FROM Person p")

        public static List<Person> getAll() {
        EntityManager em = LifeCoachDao.instance.createEntityManager();
        List<Person> list = em.createNamedQuery("Person.findAll", Person.class)
            .getResultList();
        LifeCoachDao.instance.closeConnections(em);
        return list;
    }

如何避免这种循环?如果没有这个循环,我怎样才能得到代码?

一旦解决了这个问题,就应该看看try-catch块。你不想默默地接受这样的异常。Person.getAll的代码是什么?为什么这个被标记为JPA问题?看起来更像是REST/JAX-RS问题。为什么要从端点内部向完全相同的端点发出请求?毫无意义。这就是为什么你会得到一个无限循环。你到底想干什么?
@NamedQuery(name="Person.findAll", query="SELECT p FROM Person p")

        public static List<Person> getAll() {
        EntityManager em = LifeCoachDao.instance.createEntityManager();
        List<Person> list = em.createNamedQuery("Person.findAll", Person.class)
            .getResultList();
        LifeCoachDao.instance.closeConnections(em);
        return list;
    }