首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java Jersey Rest:找不到提供者类.(访问URL时出现404错误)

关于这个问题,Java Jersey Rest找不到提供者类导致访问URL时出现404错误,我们可以从以下几个方面进行分析和解决:

  1. 检查依赖

确保项目中已经添加了Jersey的依赖,例如在Maven项目中,需要在pom.xml文件中添加以下依赖:

代码语言:<dependency>
复制
   <groupId>org.glassfish.jersey.containers</groupId>
   <artifactId>jersey-container-servlet</artifactId>
   <version>2.x</version>
</dependency>

其中,2.x是Jersey的版本号。

  1. 检查Web.xml配置

确保在Web.xml文件中正确配置了Jersey的Servlet和Servlet映射。配置示例如下:

代码语言:<servlet>
复制
   <servlet-name>Jersey REST Service</servlet-name>
   <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
    <init-param>
       <param-name>jersey.config.server.provider.packages</param-name>
       <param-value>com.example.rest</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet><servlet-mapping>
   <servlet-name>Jersey REST Service</servlet-name>
    <url-pattern>/rest/*</url-pattern>
</servlet-mapping>

其中,com.example.rest是REST资源类所在的包名。

  1. 检查REST资源类

确保REST资源类上使用了@Path注解,并且该注解的值与访问URL中的路径匹配。例如:

代码语言:txt
复制
@Path("/example")
public class ExampleResource {
    // REST资源方法
}
  1. 检查访问URL

确保访问的URL与Web.xml中配置的URL映射匹配。例如,如果Web.xml中配置的URL映射是/rest/*,则访问URL应该是http://localhost:8080/项目名/rest/example。

如果以上步骤都已经正确执行,但仍然出现404错误,可以尝试查看服务器日志,以获取更多关于错误的详细信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

SpringCloud服务注册中心双节点集群(Eureka集群)

创建了两个properties配置文件,作为集群不同的节点配置文件,在启动项目,只需指定启动参数–spring.profiles.active=eureka-server1来指定对应配置环境,运行启动即可...Eclipse IDE开发环境下,配置启动参数方式如下: 在启动第一个节点eureka-server1过程中,会持续出现如下错误信息: 2018-08-09 10:29:25.225 ERROR 7964...节点还未启动,所有出现此类错误信息是正常的,eureka-server2启动后,此类错误日志将不会出现。...关于各类集群环境不同节点在顺次启动都会出现类似错误信息的,大家不必惊慌!...停掉eureka-server1服务作为模拟宕机,访问http://eureka-server1:8761/显示无法访问,http://eureka-server2:8762/正常访问,eureka-server2

1.3K10

不用找了,10分钟帮你搞定 feign+spring cloud!看完秒懂

REST Client API 摘自《Java RESTful Web Service实战(第2版)》 image.png 为什么JAX-RS2.0这么去抽象,我们这里暂不深入去思考,先拿来主义...jersey jersey是JAX-RS标准的参考实现,是Java领域中最纯正的REST服务开发框架,例如eureka也是使用jersey来做REST接口和客户端发送请求,详见《服务发现之eureka...》 jerseyREST Client API ClientConfig clientConfig = new ClientConfig(); clientConfig.register(MyClientResponseFilter.class...为什么这么去抽象我们这里也暂不深入研究(更深层的JAX-RS为什么这么抽象还未探明) feign代理的执行流程和关键对象 代理生成用到了什么组件、代理执行时用到了什么组件?...拼接到RequestTemplate 5.Options 用于请求的参数配置 6.Decoder 解析返回报文,如果返回404,判断decode404==true则解析,否则交给ErrorDecoder

79720

看大牛是怎么理解微服务网关与用户身份识别,创建Zuul网关服务

Zuul的规则引擎和过滤器基本上可以用任何JVM语言编写,内置支持Java和Groovy。...Zuul的功能大致有: (1)路由:将不同REST请求转发至不同的微服务提供者,其作用类似于Nginx的反向代理。...(2)认证:网关直接暴露在公网上,终端要调用某个服务,通常会把登录后的token(令牌)传过来,网关层对token进行有效性验证。如果token无效(或没有token),就不允许访问REST服务。...新建Zuul网关服务项目需要在启动中添加注解@EnableZuulProxy,声明这是一个网关服务提供者。...但是,如果上游提供者配置了统一的路径前缀,而前缀被去掉,上游服务提供者就会报出404错误,也就是找不到URL对应的资源。

1.2K40

springcloud原理详解_SpringMVC运行原理

1、服务提供者: 服务注册:服务提供者在项目启动,会通过发送REST请求的方式将自己注册到eureka server上,同时带上一些自己的元数据,Eureka Server收到请求后,将元数据存储在一个双层...,优先访问处于同一个Zone中的服务提供者,若访问不到,再访问其他Zone中的服务提供者。...Eureka 用的是Jersey框架,Jersey框架里Controller的组件叫做ApplicationResource概念。...从其wiki文档中,你会看到这样一个目录Eureka-REST-operations, Google的guava框架(瓜娃子) Eureka里用到的很多工具,都是来自Google的guava项目。...EurekaServer的设计思想 读写分离思想(缓存分级):当出现频繁的读与写,此时想到的应该就是读写分离思想。

42120

50个常见的 Java 错误及避免方法(第三部分)

“class file contains wrong class” 当Java代码尝试在错误的目录中寻找文件,就会出现“class file contains wrong class”的问题,导致类似于以下内容的错误消息...为了避免“ClassCastException”错误,请确保新类型属于正确的或其父之一。如果使用泛型,则编译代码可能会捕获这些错误。 34....“NoSuchFieldError” 当应用程序尝试访问对象中的一个字段,但指定的字段不再存在于对象中,将抛出此Java软件错误消息(@sourceforge)。...“NumberFormatException” 当应用程序尝试将字符串转换为数字类型,但该数字不是有效的数字字符串,会出现Java软件错误消息(@alvinalexander)。...“TimeoutException” 当阻塞操作超时时,会出现Java软件错误消息。

1.5K30

SpringBoot系列教程web篇之自定义异常处理HandlerExceptionResolver

自定义异常处理 HandlerExceptionResolver顾名思义,就是处理异常的,接口就一个方法,出现异常之后的回调,四个参数中还携带了异常堆栈信息 @Nullable ModelAndView...500异常会进入我们的自定义异常处理, 而404依然走的是默认的错误页面,所以如果我们需要捕获404异常,依然需要在配置文件中添加 # 出现错误时, 直接抛出异常 spring.mvc.throw-exception-if-no-handler-found...下面尽量以通俗易懂的方式说明下这个问题 java web应用,除了返回json数据之外还可能返回网页,js,css 我们通过 @ResponseBody来表明一个url返回的是json数据(通常情况下是这样的...,不考虑自定义实现) 我们的@Controller中通过@RequestMapping定义的REST服务,返回的是静态资源 那么js,css,图片这些文件呢,在我们的web应用中并不会定义一个REST服务...所以当接收一个http请求,找不到url关联映射,默认场景下不认为这是一个NoHandlerFoundException,不抛异常,而是到静态资源中去找了(静态资源中也没有,为啥不抛NoHandlerFoundException

97350

创建 REST API 的最佳入门教程

id=123 当人们开始去实现他们自己的API接口,问题就出现了。竟然没有一个标准的方法来命名URL,人们总是要参考API才得知它是如何运作的。...一个API中可能命名一个URL为/view_widgets,但是另一个API可能就命名成/widgets/all. 不用担心!REST帮你搞定这些混乱! 什么是REST呢?...URL 你可能已经注意的前面的几个例子,REST URL使用着一套一致的命名方法。...–请求出错(语法格式有误或服务器无法理解此请求) 401 – 未授权(需要登录) 404找不到 (找不到所请求的文件或脚本) 405 – 不允许此方法(错误的 HTTP方法) 409 – 冲突...当用户在网站上访问需要认证授权的页面,浏览器就会发送cookie,应用程序就会查找seesion会话中的ID(如果它没有失效的话),由于用户的ID保存在seesion中,用户就可以浏览页面了。

3K20

知识点-Spring Boot 统一异常处理汇总

接下来分别给大家介绍下解决方案: 页面处理 首先我们来看页面错误的处理情况,当我们的程序内部报错的时候或者访问的页面找不到的时候,我们可以看到下面的错误页面: ?...,就会得到一个404错误页面,最友好的方式就是返回固定的JSON格式,里面有个code为404。...,然后封装好返回格式,返回给调用方 最后关键的一步是在spring boot的配置文件中加上如下配置: #出现错误时, 直接抛出异常 spring.mvc.throw-exception-if-no-handler-found...} 页面错误REST错误共存 当我们加好rest接口处理的方式后,访问页面不存在就会返回一段json数据,如果你的项目中既有rest接口,又有页面,这个时候就有冲突了。...我们可以通过为rest接口增加统一的访问前缀,比如:/rest/xxxx来区分请求,然后用@ControllerAdvice来分别处理: import java.io.PrintWriter; import

85420

Java Web常见框架寻找路由技巧

简单介绍下Java Web中常见框架(Spring Web、Jersey)寻找路由技巧。 0x00 前言 在Java Web代码审计中,寻找和识别路由是很关键的部分。...下面简单介绍下Java Web中常见框架(Spring Web、Jersey)寻找路由技巧。...例如,在Spring MVC项目中,控制器可能位于controller包下。 并且很多Java Web框架都会使用注解来标识控制器和映射请求。...可以根据 URI 直接跳转到对应的方法定义: 通过这个插件可以快速查找到对应的接口位置,很多时候我们知道一个api接口,想知道这个接口对应的和位置,查找起来很麻烦,这个插件可以很方便解决这个问题:...,通过该方法可以查找并注册应用程序中的资源(Resources)和提供者(Providers),如异常处理器、拦截器、实体过滤器等。

13310

SpringMVC | 快速上手SpringMVC

可能遇到的问题:访问出现404 排查步骤: 查看控制台输出,看一下是不是缺少了什么jar包。 如果jar包存在,显示无法输出,就在IDEA的项目发布中,添加lib依赖!... /* 会匹配 *.jsp,会出现返回 jsp视图 再次进入spring的DispatcherServlet ,导致找不到对应的controller...图片 , 视频 … MVC的注解驱动 配置视图解析器 补充: ssm访问页面404/静态资源的问题 我们在配置dispatchServlet配置 / /拦截所有请求包括静态资源,springMVC会将静态资源当做一个普通的请求处理,从而也找不到相应的处理器导致404错误.这时候dispatchServlet...return "hello"; } } @Controller是为了让Spring IOC容器初始化时自动扫描到; @RequestMapping是为了映射请求路径,这里因为与方法上都有映射所以访问应该是

34320

java轻量RESTful api服务搭建(jersey+jetty)

前言 由于开始要搭建一个java + python的服务,java端提供数据库增删改查逻辑供python端调用,第一间想到了用REST(Representational State Transfer)...因为主逻辑还是在java端,所以希望这个REST服务非常轻量,选择一个轻量级的servlet容器很有必要,神马Tomcat、Resin就太重了,所以鼎鼎大名的 jetty 容器就是非常好的选择啦 容器选好了...,就再考虑用什么RESTful框架实现咯,由于在java6上已经有了一套RESTful的api,叫:JAX-RS (Java API for RESTful Web Services),但JAX-RS...return 任务信息 */ @Path("/getTaskInfo/{id}") // 大括号里的是参数名,在函数位置使用@PathParam注解映射 @GET // 声明这个接口必须GET访问...* * @param taskInfoPo taskInfo * @return subTaskInfo */ @Path("/getSubTaskInfo/") // url

3K70

Spring Cloud Eureka集群

Eureka的服务端提供了较为完善的REST API,所以Eureka也支持将非java语言实现的服务纳入到Eureka服务治理体系中来,只需要其他语言平台自己实现Eureka的客户端程序。...但是,我们肯定是按照次序启动服务器,我们不管先启动哪一台服务器,其他的服务器都还没有准备就绪,所以肯定会出现找不到要连接的服务器,所以会报错。...这个错误根本不需要解决, 把所有的服务器全部启动,整个集群就可以正常运行(因为出现的是连接错误,现在所有的服务器已经准备就绪,所以不会再一次出现连接错误,除非某台服务器down掉。)...浏览器地址栏访问:http://10.0.45.103:1111/,http://10.0.45.103:2222/,http://10.0.45.103:3333/出现如下页面即搭建成功。...defaultZone: http://peer1:1111/eureka/,http://peer3:3333/eureka/,http://peer2:2222/eureka/ 此时刷新注册中心:出现服务提供者

39420

Spring Boot 中文参考指南(二)-Web

WAR部署中的错误处理 当部署到servlet容器,Spring Boot使用其错误页面过滤器将具有错误状态的请求转发到适当的错误页面。...过滤器有一个@Order,你可以用spring.jersey.filter.order进行设置。当使用Jersey作为过滤器,必须存在一个servlet来处理任何没有被Jersey拦截的请求。...然后,将在启动记录已注册过滤器的详细信息,包括其订单和URL模式。 注册Filterbean要小心,因为它们在应用程序生命周期的早期就被初始化了。...当使用java -jar启动,可执行war将起作用,也可以部署到任何标准容器中。使用可执行jar不支持JSP。 Undertow不支持JSP。...如果找不到,它会查找index模板。如果找到任何一个,它会自动用作应用程序的欢迎页面。 模板引擎 除了REST Web服务外,还可以使用Spring WebFlux提供动态HTML内容。

3.8K30

【RPC 专栏】深入理解 RPC 之协议篇

url); Referer refer(Class clz, URL url, URL serviceUrl); void destroy(); } 我们都知道...协议 rest:// JAX-RS 是标准的 Java REST API,得到了业界的广泛支持和应用,其著名的开源实现就有很多,包括 Oracle 的 Jersey,RedHat 的 RestEasy...而http、json是天然合适作为跨语言的标准,各种语言都有成熟的库 虽然Dubbo的异步长连接协议效率很高,但是在脚本语言中,这点效率的损失并不重要。...grpc://和yar:// 这两个协议的诞生缘起于一定的历史遗留问题,moton 是新浪微博开源的,而其内部有很多 PHP 应用,为解决跨语言问题,这两个协议进而出现了。...主要实现的是 java 对 restful 指定的规范,即 javax.ws.rs 包下的

97120

深入理解RPC之协议篇

url); Referer refer(Class clz, URL url, URL serviceUrl); void destroy(); } 我们都知道 RPC...协议 rest:// JAX-RS 是标准的 Java REST API,得到了业界的广泛支持和应用,其著名的开源实现就有很多,包括 Oracle 的 Jersey,RedHat 的 RestEasy...而http、json是天然合适作为跨语言的标准,各种语言都有成熟的库 虽然Dubbo的异步长连接协议效率很高,但是在脚本语言中,这点效率的损失并不重要。...grpc://和yar:// 这两个协议的诞生缘起于一定的历史遗留问题,moton 是新浪微博开源的,而其内部有很多 PHP 应用,为解决跨语言问题,这两个协议进而出现了。...主要实现的是 java 对 restful 指定的规范,即 javax.ws.rs 包下的

2.1K151
领券