Я работал над кодом java для программирования сервлетов для реализации приложения, предоставляющего REST API с конечными точками для поиска, создания и удаления «серверных» объектов. Объект сервера передается как тело сообщения, закодированное в json. Пример:
{«name»: «Centos», «id»: «000», «language»: «java», «framework»: «spark»}
Мой код не выдает никакой ошибки, поэтому я не знаю, где ошибка. Обычно ошибка для 404 лежит в файле xml, поскольку я читал о проблемах с переполнением стека, но я также проверил свой xml. Вот мои xml данные о файле: (я удалил 2 заголовочных файла (xml -версия и веб-приложение) сейчас)
<display-name>KaiburrTask1</display-name>
<servlet>
<servlet-name>Server Handling</servlet-name>
<servlet-class>com.kaiburr.task1.ServerHandling</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Server Handling</servlet-name>
<url-pattern>/serv/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>
Полный код включен: https://github.com/Shashank-Shukla/KaiburrTask/tree/master/KaiburrTask1
@ApplicationPath("/")
@Path("")
public class ServerHandling {
private static String name,language,framework;
private static int id;
@GET @Path("/Servin") @Produces("application/json")
public String display(String name, int id, String languauge, String framework) {
String dispStyle="\n{\name: \"%s\",\nid: \"%s\",\nlanguage: \"%s\",\nframework: \"%s\"\n}";
return String.format(dispStyle, name,id,language,framework);
}
@PUT @Path("/Enterr") @Produces("application/json")
public void updateServer(@QueryParam("name") String name, @QueryParam("id") int id, @QueryParam("language") String language, @QueryParam("framework") String framework) {
ServerHandling.name=name;
ServerHandling.id=id;
ServerHandling.language=language;
ServerHandling.framework=framework;
display(name,id,language,framework);
}
@POST @Path("/dispServerName") @Produces("text/plain")
public String dispName() {
return name;
}
@POST @Path("/dispServerID") @Produces("text/plain")
public int dispID() {
return id;
}
@POST @Path("/dispServerLang") @Produces("text/plain")
public String dispLang() {
return language;
}
@POST @Path("/dispServerFrame") @Produces("text/plain")
public String dispFrame() {
return framework;
}
public String getName() {
return name;
}
public int getID() {
return id;
}
public String getLang() {
return language;
}
public String getFrame() {
return framework;
}
}
Ошибка:
Даже при использовании:
curl -X PUT "localhost:8082/KaiburrTask1/Enterr"
выдает эту ошибку:
Ошибка HTTP 404 не найдена.