2014-12-02 42 views
2

您好,我是Tomcat开发新手,有问题。REST Servlet正在开发中,但在远程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 - 它只显示错误404当我我们e“http://xyz.at/ServerTest/test/test1

但是为什么?我听说当我使用servlet 3.0时不应该发生这种情况。

编辑:
中的index.html工作过 - 只有REST服务(GET,POST)还没有工作。

这很有趣,因为在netbeans中它完美地工作。

我刚刚注意到,在开发中我有tomcat 8.0.9,但在远程服务器上我有8.0.15 - 这是否会造成麻烦?

+0

我面临同样的问题。你管理它了吗? – 2017-10-25 09:54:18

回答

0

好像你不把它放在根路径上。

由于快速解决方案尝试将您的战争重命名为ROOT.war然后部署它。

您可以阅读更多关于上下文路径配置here

+0

感谢您的快速回答,但index.html工作过 - 只有其他服务(GET,POST)不起作用这很有趣,因为在NetBeans中完美的作品。我只注意到,在开发中我有tomcat 8.0.9,但在远程服务器上我有8.0.15 - 这是否会造成麻烦? – 2014-12-02 18:15:20

相关问题