2017-02-04 53 views
0

我試圖創建一個簡單的Web服務,但當我嘗試訪問該URL時,我得到了404。 這裏的web.xml文件:Apache Tomcat 9 - 瀏覽器上的HTTP狀態404

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" 
     version="3.1"> 

    <servlet> 
     <servlet-name>Test</servlet-name> 
     <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class> 
     <init-param> 
      <param-name>jersey.config.server.provider.packages</param-name> 
      <param-value>Test</param-value> 
     </init-param> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>Test</servlet-name> 
     <url-pattern>/rest/*</url-pattern> 
    </servlet-mapping> 

</web-app> 

這裏的POM:

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <groupId>1</groupId> 
    <artifactId>1</artifactId> 
    <version>1.0-SNAPSHOT</version> 

    <dependencies> 

     <dependency> 
      <groupId>org.glassfish.jersey.core</groupId> 
      <artifactId>jersey-server</artifactId> 
      <version>2.17</version> 
     </dependency> 
     <dependency> 
      <groupId>org.glassfish.jersey.containers</groupId> 
      <artifactId>jersey-container-servlet-core</artifactId> 
      <version>2.17</version> 
     </dependency> 

     <dependency> 
      <groupId>org.json</groupId> 
      <artifactId>json</artifactId> 
      <version>20080701</version> 
     </dependency> 

    </dependencies> 
</project> 

而這裏的基本其餘類:

package Test; 


import javax.ws.rs.GET; 
import javax.ws.rs.Path; 

/** 
* Created by * on 4.02.2017. 
*/ 


@Path("/api") 
public class Test { 

    @GET 
    @Path("/get/test") 
    public String getSmth(String request) { 
     return "Testing"; 
    } 
} 

當我去到:

http://127.0.0.1:8080/Test/rest/api/get/test 

我得到:

HTTP Status 404 - 

type Status report 

message 

description The requested resource is not available. 

Apache Tomcat/9.0.0.M17 

當我轉到Tomcat應用程序管理器時,我可以看到我的應用程序在那裏運行。我在做某件事情真的錯了還是錯過了什麼?

感謝, 在線eerik

回答

1

在代碼中使用的是GlassFish服務器,而不是tomcat的。在您使用的IDE中,嘗試使用Glassfish服務器而不是使用相同代碼的tomcat。