2017-02-04 3 views
0

Я пытаюсь создать простой веб-сервис, но я получаю 404, когда пытаюсь перейти к URL-адресу. Вот 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> 

Вот ПОМ:

<?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 сервер и не кот. В IDE, который вы используете, попробуйте использовать сервер Glassfish вместо tomcat с тем же кодом.

Смежные вопросы