我正在尝试在maven java项目中使用jersey创建REST api。但我似乎总是从服务器得到404响应。
这是我的java类:
@Path("/login")
public class LoginController {
@GET
@Path("/hello")
@Produces("text/plain")
public String hello() {
return "Hello world";
}
}
非常简单。
我的web.xml文件如下所示:
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>REST API</display-name>
<servlet>
<servlet-name>jersey-servlet</servlet-name>
<servlet-class>
com.sun.jersey.spi.container.servlet.ServletContainer
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>jersey-servlet</servlet-name>
<url-pattern>/ws/*</url-pattern>
</servlet-mapping>
</web-app>
这就是我的pom.xml:
<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>se.example</groupId>
<artifactId>rest</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>Rest Maven Webapp</name>
<dependencies>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-bundle</artifactId>
<version>1.19.1</version>
</dependency>
</dependencies>
</project>
但是当我尝试在浏览器中打开http://localhost:8080/rest/ws/login/hello
时。我刚收到404回复。
我错过了一些明显的东西吗?
答案 0 :(得分:0)
使用泽西最新的捆绑2.25.1,这是稳定的
添加拒绝依赖项并重试
mvn archetype:generate -DarchetypeArtifactId=jersey-quickstart-webapp \
-DarchetypeGroupId=org.glassfish.jersey.archetypes -DinteractiveMode=false \
-DgroupId=com.example -DartifactId=simple-service-webapp -Dpackage=com.example \
-DarchetypeVersion=2.25.1
如果不起作用
使用maven命令行创建应用程序并比较配置
services.AddSession(options =>
{
// Session timeout is at 2 hours
options.IdleTimeout = TimeSpan.FromHours(2);
}); /