gpt4 book ai didi

java - 使用 Maven 的 Tomcat 8 上的 REST Web 服务 404

转载 作者:行者123 更新时间:2023-11-28 22:57:01 28 4
gpt4 key购买 nike

当我尝试在 tomcat 8 上运行我的网络服务时,出现 404 NOT FOUND 异常。我的 pom 如下所示:

<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>com.deangrobler.testrest</groupId>
<artifactId>TestRest</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.0</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>2.10.1</version>
</dependency>
</dependencies>
</project>

我的 web.xml 看起来像:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">
<display-name>TestRest</display-name>

<servlet>
<servlet-name>jersey-helloworld-serlvet</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>com.javacodegeeks.enterprise.rest.jersey</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>jersey-helloworld-serlvet</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>

</web-app>

还有我的注释类:

package com.deangrobler.testrest;

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

@Path("/hellorest")
public class HelloRest {

@GET
@Produces("text/plain")
public String hello () {
return "Hello there developer!";
}

}

我希望能够击中它

http://localhost:8080/TestRest/rest/hellorest/

但是...我刚收到 404 错误...我缺少什么?我将不胜感激 :)

最佳答案

Param com.sun.jersey.config.property.packages 用于表示包含您的 REST 类的包。所以参数值应该是com.deangrobler.testrest
检查documentation对于 ServletContainer。

关于java - 使用 Maven 的 Tomcat 8 上的 REST Web 服务 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24606752/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com