您好我是Tomcat开发的新手并且有一个问题。
当我尝试开发REST Servlet时,它使用netbeans和tomcat 8进行开发,但是当我尝试创建.war文件并通过webinterface将其加载到远程tomcat时,它不起作用。
所以我刚刚在Netbeans中创建了一个新的Web应用程序并对其进行了一些改动:
@Path("test1")
public class GenericResource {
@Context
private UriInfo context;
public GenericResource() {
}
@GET
@Produces("application/xml")
public String getXml() {
return "<xml rest='cool'></xml>";
}
}
和
package test;
import java.util.Set;
import javax.ws.rs.core.Application;
@javax.ws.rs.ApplicationPath("test")
public class ApplicationConfig extends Application {
@Override
public Set<Class<?>> getClasses() {
Set<Class<?>> resources = new java.util.HashSet<>();
addRestResourceClasses(resources);
return resources;
}
private void addRestResourceClasses(Set<Class<?>> resources) {
resources.add(test.GenericResource.class);
}
}
因此,当我在Netbeans中部署它时,它可以完美地使用
http://localhost:8080/ServerTest/test/test1
但是当我创建一个战争并将其开发到远程tomcat时 - 当我使用“http://xyz.at/ServerTest/test/test1”时它只显示错误404
但为什么呢?我听说使用servlet 3.0时不会发生这种情况。
修改
index.html之前工作过 - 只有其他服务(GET,POST)还没有工作。
这很有趣,因为在netbeans中它运行得很好。
我只是注意到在开发中我有tomcat 8.0.9但在远程服务器上我有8.0.15 - 这会麻烦吗?