I was working on a java code for servlet programming to implement an application which provides a REST API with endpoints for searching, creating and deleting “server” objects. The server object is passed as a json-encoded message body. Example:
{ “name”: ”Centos”, “id”: “000”, “language”:”java”, “framework”:”spark” }
My code isn't throwing any error so I've no idea where the error is. Generally the error for 404 lies in xml file as far as I've read on other's stackoverflow issues, but I've checked my xml too. Here is my xml file details: (I've removed the 2 head files (xml-version and web-app) for now)
<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>
Full code is on: 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;
}
}
The error is:
Even using:
curl -X PUT "localhost:8082/KaiburrTask1/Enterr"
it throws this error:
HTTP error 404 not found.