Questions tagged «jersey-2.0»

2
使用JAX-RS和Jersey进行基于REST令牌的身份验证的最佳实践
我正在寻找一种在Jersey中启用基于令牌的身份验证的方法。我正在尝试不使用任何特定的框架。那可能吗? 我的计划是:用户注册我的Web服务,我的Web服务生成令牌,并将其发送给客户端,客户端将保留它。然后,对于每个请求,客户端将发送令牌,而不是用户名和密码。 我正在考虑为每个请求使用自定义过滤器, @PreAuthorize("hasRole('ROLE')") 但是我只是认为这会导致对数据库的大量请求检查令牌是否有效。 还是不创建过滤器,并在每个请求中放置一个参数令牌?这样每个API都会先检查令牌,然后再执行一些操作来检索资源。

7
泽西岛停止与InjectionManagerFactory一起工作
在Tomcat 8.5.11中运行Jersey API时,出现以下错误,导致API停止: HTTP状态500-Servlet Jersey REST Service的Servlet.init()抛出异常 类型例外报告 Servlet Jersey REST Service的消息Servlet.init()抛出异常 描述服务器遇到内部错误,导致服务器无法满足此请求。 例外 javax.servlet.ServletException:用于Servlet Jersey REST Service的Servlet.init()引发了异常org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:474)org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve。 java:79)org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:624)org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)org.apache.coyote.http11.Http11Processor。服务(Http11Processor.java:783)org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)org.apache.coyote.AbstractProtocol $ ConnectionHandler.process(AbstractProtocol.java:798)org.apache.tomcat.util。 net.NioEndpoint $ SocketProcessor.doRun(NioEndpoint.java:1434)org.apache.tomcat.util.net.SocketProcessorBase。运行(SocketProcessorBase.java:49)java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617)org.apache.tomcat.util。 thread.TaskThread $ WrappingRunnable.run(TaskThread.java:61)java.lang.Thread.run(Thread.java:745) 根本原因 java.lang.IllegalStateException:找不到InjectionManagerFactory。org.glassfish.jersey.internal.inject.Injections.lookupInjectionManagerFactory(Injections.java:97)org.glassfish.jersey.internal.inject.Injections.createInjectionManager(Injections.java:89)org.glassfish.jersey.server.ApplicationHandler。 (ApplicationHandler.java:282)org.glassfish.jersey.servlet.WebComponent。(WebComponent.java:335)org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:178)org.glassfish.jersey.servlet。 ServletContainer.init(ServletContainer.java:370)javax.servlet.GenericServlet.init(GenericServlet.java:158)org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:474)org.apache.catalina.valves。 ErrorReportValve.invoke(ErrorReportValve.java:79)org.apache.catalina.valves。 应用程序使用以下gradle依赖项进行构建: dependencies { compile ( // REST "org.glassfish.jersey.containers:jersey-container-servlet:2.+", "javax.servlet:javax.servlet-api:4.+", // REST Token "org.bitbucket.b_c:jose4j:0.+", // MongoDB "org.hibernate.ogm:hibernate-ogm-bom:5.+", …

8
Jersey 2.0的依赖注入
从没有任何Jersey 1.x知识的白手起家,我很难理解如何在Jersey 2.0项目中设置依赖项注入。 我也知道HK2在Jersey 2.0中可用,但是我似乎找不到帮助Jersey 2.0集成的文档。 @ManagedBean @Path("myresource") public class MyResource { @Inject MyService myService; /** * Method handling HTTP GET requests. The returned object will be sent * to the client as "text/plain" media type. * * @return String that will be returned as a text/plain response. */ @GET …

17
java.lang.ClassNotFoundException:com.sun.jersey.spi.container.servlet.ServletContainer
我正在尝试使用Jersey + Google应用引擎构建一个简单的hello world应用程序,为期两天。对于简单的AppEngine项目,我遵循了这些教程,并且都可以正常使用 https://developers.google.com/appengine/docs/java/gettingstarted/创建 https://developers.google.com/appengine/docs/java/webtoolsplatform 但是现在我试图添加Jersey并遵循本教程http://www.vogella.com/articles/REST/article.html。 但是服务器一直在给我 java.lang.ClassNotFoundException:com.sun.jersey.spi.container.servlet.ServletContainer 当我在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" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>TestServer</display-name> <servlet> <servlet-name>Jersey REST Service</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.test.myproject</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> </web-app> 我JAX-RS 2.1 RI bundle从这里下载了Jersey ,并WEB-INF/lib按照教程中的说明将所有jar文件添加到了文件夹中。即使经过两天,也没有任何效果。我已经在Google上搜索过几次,显然使用Maven的人已经以某种方式解决了它,但是我没有使用Maven,编写该教程的人也没有。 只是为了检查com.sun.jersey.spi.container.servlet.ServletContainer导入中是否存在, Jersey jars我试图用Java编写这个完全限定的名称,并让intellisense完成名称,但是之后我却没有得到任何intellisense,com.sun.je所以我的最后猜测是在最新的Jersey版本中进行了一些软件包重新排列而jersey不再是内部的com.sun。我筋疲力尽,我将不胜感激。

1
泽西岛2中的ResourceConfig类到底是什么?
我看过很多Jersey教程,它们都以类似 @ApplicationPath("services") public class JerseyApplication extends ResourceConfig { public JerseyApplication() { packages("com.abc.jersey.services"); } } 没有解释什么是确切的ResourceConfig类。那么在哪里可以找到其文档,用法等?谷歌搜索“ jersey resourceconfig”不会产生任何官方文档。 我对此类及其用法的一些疑问是: 我可以在的子类中做什么ResourceConfig? 我是否需要注册ResourceConfig某个地方的子类以便可以找到它,或者它会被Jersey自动检测到? 如果自动检测到子类,如果我有多个子类,会发生什么 ResourceConfig? 目的ResourceConfig与web.xml文件相同吗?如果是这样,如果我两个都在我的项目中会怎样?他们中的一个优先于另一个吗?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.