gpt4 book ai didi

servlets - 在运行 Jersey REST 服务的 Grizzly 服务器上使用过滤器

转载 作者:行者123 更新时间:2023-12-04 01:06:37 26 4
gpt4 key购买 nike

我正在尝试使用 Grizzly 创建一个服务器来运行我使用 Jersey 开发的 REST 服务。我正在使用以下方法创建 Grizzly 服务器:

final String baseUri = "http://localhost:9998/";
final Map<String, String> initParams = new HashMap<String, String>();
initParams.put("com.sun.jersey.config.property.packages", "me.my.rest.package");
SelectorThread threadSelector =
GrizzlyWebContainerFactory.create(baseUri, initParams);

正如我发现的所有例子似乎都表明了这一点。这很好,服务器启动并能够将传入请求转发到我的资源类。

但是,服务实现要求它使用 servlet 过滤器。 Grizzly 似乎支持定义过滤器和其他类似的 servlet 相关配置选项,通过 ServletAdapter类(class)。我的问题是我不知道如何在使用 com.sun.jersey.api.container.grizzly.GrizzlyWebContainerFactory 时定义过滤器提供 Jersey 集成。

有任何想法吗?

最佳答案

我想我可能有一些东西给你......

GrizzlyWebServer ws = new GrizzlyWebServer(9999);
ServletAdapter jerseyServletAdapter = new ServletAdapter();
jerseyServletAdapter.setServletInstance(new ServletContainer());
jerseyServletAdapter.addInitParameter(
"com.sun.jersey.config.property.packages", "me.my.rest.package");
jerseyServletAdapter.setServletPath("/api");

// HERE IS HOW YOU ADD A FILTER
jerseyServletAdapter.addFilter(new MyFilter(), "HibernateSessionFilter", null);

ws.addGrizzlyAdapter(jerseyServletAdapter, null);

...它对我有用,我希望它也能帮助你。

关于servlets - 在运行 Jersey REST 服务的 Grizzly 服务器上使用过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1439503/

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