Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Glassfish和Java EE Webapp 500错误5次中有4次_Java_Rest_Glassfish - Fatal编程技术网

Glassfish和Java EE Webapp 500错误5次中有4次

Glassfish和Java EE Webapp 500错误5次中有4次,java,rest,glassfish,Java,Rest,Glassfish,我想用Glassfish 4做一个休息服务。我有一个SOAP服务和Servlet可以正常工作,但无法让其他东西正常工作 这是我的简单刀: @Remote @WebService public interface IPersonDao { public void createAndSave(String fn, String ln, String eid); public void persist(Person p); public Collection<Perso

我想用Glassfish 4做一个休息服务。我有一个SOAP服务和Servlet可以正常工作,但无法让其他东西正常工作

这是我的简单刀:

@Remote
@WebService
public interface IPersonDao {

    public void createAndSave(String fn, String ln, String eid);
    public void persist(Person p);
    public Collection<Person> getAllPeople();
    public Person getPerson(Integer id);
    public void delete(Person p);
    public void deleteById(Integer id);
}




@Stateless
@Remote(IPersonDao.class)
@Named("MemoryPersonDao")
@WebService(endpointInterface = "dummy.server.IPersonDao")
public class PersonDao implements IPersonDao {
    Map<Integer, Person> people;
    int id_seq = 1;

    /**
     * 
     */
    public PersonDao() {
        people = new java.util.HashMap<Integer, Person>();
        /*createAndSave("Mike", "Jones", "2234");
        createAndSave("Joe", "Smith", "22314");*/
    }

    @PostConstruct
    public void postConstruct() {
        createAndSave("Mike", "Jones", "2234");
        createAndSave("Joe", "Smith", "22314");
    }

    private int nextId() {
        return id_seq++;
    }

    /*
     * (non-Javadoc)
     * 
     * @see dummy.server.IPersonDao#createAndSave(java.lang.String,
     * java.lang.String, java.lang.String)
     */
    @Override
    public void createAndSave(String fn, String ln, String eid) {
        Person p = new Person();
        p.setFirstName(fn);
        p.setLastName(ln);
        p.setEmployeeId(eid);
        p.setId(nextId());
        persist(p);
    }

    @Override
    public Person getPerson(Integer id) {
        return people.get(id);
    }

    /*
     * (non-Javadoc)
     * 
     * @see dummy.server.IPersonDao#persist(dummy.server.Person)
     */
    @Override
    public void persist(Person p) {
        if (p.getId() != null) {
            p.setId(nextId());
        }
        people.put(p.getId(), p);
    }

    /*
     * (non-Javadoc)
     * 
     * @see dummy.server.IPersonDao#getAllPeople()
     */
    @Override
    public Collection<Person> getAllPeople() {
        return people.values();
    }

    /* (non-Javadoc)
     * @see dummy.server.IPersonDao#delete(dummy.server.Person)
     */
    @Override
    public void delete(Person p) {
        deleteById(p.getId());
    }

    /* (non-Javadoc)
     * @see dummy.server.IPersonDao#deleteById(java.lang.Integer)
     */
    @Override
    public void deleteById(Integer id) {
        people.remove(id);
    }
这是我的glassfish-web.xml

<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
<glassfish-web-app>
    <context-root>/GB</context-root>
</glassfish-web-app>

/国标

但是,我无法确定我的REST URL。有人知道这里给出了什么吗?

将rest端点放在另一个类中,用
@Path
注释,并使其
@无状态
,以便注入EJB。看看我做了什么,没什么区别。我分离了
PersonRestService
(用@Path注释),并用
@ApplicationPath
注释和
getClasses()
方法离开了
扩展应用程序的类。
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1">
  <display-name>GB</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
</web-app>
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
<glassfish-web-app>
    <context-root>/GB</context-root>
</glassfish-web-app>