我用JavaEclipseTomcat8.5Maven创建了一个jersey REST应用程序(helloworld)。静态索引。在服务器上运行项目时,html工作正常。但剩下的是404。
REST api你好世界级:-
@Path("/hello")
public class MyJerseyPage{
@GET
@Produces(MediaType.TEXT_HTML)
public String sayHtmlHello() {
return "Hello from Jersey";
}
}
其余配置类:-
@ApplicationPath("/api")
public class RESTConfig extends Application {
}
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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.nagendrahegde</groupId>
<artifactId>therestproject</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>therestproject Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>2.26</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-server</artifactId>
<version>2.26</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-common</artifactId>
<version>2.26</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>2.26</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet-core</artifactId>
<version>2.26</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>servlet-api</artifactId>
<version>6.0.53</version>
</dependency>
<dependency>
<groupId>org.apache.oltu.oauth2</groupId>
<artifactId>org.apache.oltu.oauth2.client</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.3.1</version>
</dependency>
<dependency>
<groupId>com.auth0</groupId>
<artifactId>java-jwt</artifactId>
<version>3.2.0</version>
</dependency>
<dependency>
<groupId>com.googlecode.jsontoken</groupId>
<artifactId>jsontoken</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.bundles.repackaged</groupId>
<artifactId>jersey-guava</artifactId>
<version>2.6</version>
</dependency>
</dependencies>
<build>
<finalName>therestproject</finalName>
</build>
</project>
网状物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>Archetype Created Web Application</display-name>
</web-app>
输出:-
上车:http://localhost:8080/therestproject/api/hello -
以前,当pom.xml具有以下版本的依赖项时,相同的设置可以工作:-
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-servlet</artifactId>
<version>1.19</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>servlet-api</artifactId>
<version>6.0.44</version>
</dependency>
它曾经有用!当我换POM时,它开始抛出404。XML并将JERSEY版本更改为最新版本。我想保留最新的jersey版本,因为我必须在上面做oauth2。请帮忙。
这个答案可能指向一个可能的解决方案:添加jersey ri
依赖项。
如何仅使用注释(无web.xml)设置JAX-RS应用程序?
问题内容: 我正在使用托管在Google App Engine上的Java,Jetty和Jersey 2.18(目前最新)。 假设我有一项服务 当我做: 我正确地收到了一个application / json内容类型和主体。但是当我这样做时: 与返回任何4XX或5XX状态相同,我收到一个text / html内容类型以及以下HTML正文: 而不是我放入.entity()的对象 编辑:这是我的web
按预期列出了这些组: 和按预期工作: 但是,和都返回和。 我想要的探测记录在自动配置的HealthIndicator列表中。 在https://spring.io/blog/2020/03/25/liveness-and-readid-probes-with-spring-boot中也介绍了该特性。 我尝试了的几个拼写,插入了(在博客文章中),但没有效果。 这里有一个相关的答案,但它并不直接解决我
我们有一个需要跨多个索引查询的要求,如下所示 我们使用的是ElasticSearch 5.1.1. http://localhost:9200/index1,index2,index3/type1,type2/_search 查询: 但是,我们可能无法预先知道该索引是否存在,如果上述任何一个索引都不存在,我们将得到以下错误。 一个明显的方法是检查索引是否已经存在,但我希望避免额外的调用。 注意:至
问题内容: 我一直在使用Golang测试Google App Engine SDK,但在投放静态html页面时遇到问题。如果我在under处理程序中添加了内容,那很好,但是当尝试从我的Go应用程序内部进行路由时;尝试网址时,页面返回404。 我的文件系统设置为: 我的主要样子是这样的: 问题答案: 您不应该使用Go处理程序来提供静态文件(除非您希望合并其他逻辑,例如高级日志记录或计数)。 您可以在
问题内容: 一个充满火花的世界: 我该如何返回静态文件index.html? 笔记: 我需要这个index.html放在罐子里 本着Spark Java简洁性的精神,我想尽可能避免使用模板,这对于静态页面而言可能会显得过大。 问题答案: 您可以通过以下方法将绝对路径传递到静态资源目录来实现: 或者通过此方法传递相对路径: 在设置任何路线之前,请先调用此选项。在静态资源目录的根目录中创建index.
在生产中,我想禁用/acturetatorendpoint,但仍然允许/acturetator/health。我使用SecurityConfigurerAdapter尝试了下面的代码,但它返回500。我想返回一个404,并得到一个“页面找不到”错误页面。非常感谢任何帮助