没有为此找到解决方案(并尝试至少5个小时......):
我使用Tomcat 8.0.27.0和Jersey 2.5.1(JAX-RS RI)并创建了一个简单的Restful-Webservice,它与Glassfish一起工作正常,但尝试使用Tomcat会导致404 - 找不到文件(The请求的资源不可用。)
ApplicationConfig.java
package com.example;
import java.util.Set;
import javax.ws.rs.core.Application;
@javax.ws.rs.ApplicationPath("/webresources")
public class ApplicationConfig extends Application {
@Override
public Set<Class<?>> getClasses() {
Set<Class<?>> resources = new java.util.HashSet<>();
addRestResourceClasses(resources);
return resources;
}
/**
* Do not modify addRestResourceClasses() method.
* It is automatically populated with
* all resources defined in the project.
* If required, comment out calling this method in getClasses().
*/
private void addRestResourceClasses(Set<Class<?>> resources) {
resources.add(com.example.ServiceResource.class);
}}
ServiceResource.java
@Path("/service")
public class ServiceResource {
@Context
private UriInfo context;
public ServiceResource() {
}
@GET
@Path("/{param}")
@Produces("text/html")
public Response getHtml(@PathParam("param") String message) {
String output = "Hello " + message + "!";
return Response.status(200).entity(output).build();
}
@PUT
@Consumes("text/html")
public void putHtml(String content) {
}
}
我尝试打开所有可能的类型,但希望它可以在http://localhost:8080/contextname/webresources/service上运行。 基本路径http://localhost:8080/contextname正在运行。
任何人都知道为什么它与Glassfish一起工作正常而不是Tomcat?谢谢到目前为止!