Java Grizzly嵌入式服务器&x2B;泽西岛服务&x2B;Servlet过滤器

Java Grizzly嵌入式服务器&x2B;泽西岛服务&x2B;Servlet过滤器,java,servlet-filters,grizzly,jersey-2.0,Java,Servlet Filters,Grizzly,Jersey 2.0,下面的代码运行我的REST服务,但从未调用我的servlet过滤器。有什么想法吗 WebappContext webappContext = new WebappContext("grizzly web context", ""); FilterRegistration testFilterReg = webappContext.addFilter("TestFilter", TestFilter.class); testFilterReg.addMappingForUrlPatterns(E

下面的代码运行我的REST服务,但从未调用我的servlet过滤器。有什么想法吗

WebappContext webappContext = new WebappContext("grizzly web context", "");

FilterRegistration testFilterReg = webappContext.addFilter("TestFilter", TestFilter.class);
testFilterReg.addMappingForUrlPatterns(EnumSet.allOf(DispatcherType.class), "/*");

ResourceConfig rc = new ResourceConfig().register(MyResource.class);
HttpServer httpServer = GrizzlyHttpServerFactory.createHttpServer(URI.create("http://localhost:8080/myapp/"), rc);
webappContext.deploy(httpServer);

简而言之,按照上面的方式注册ResourceConfig将有效地绕过Grizzly Servlet容器

为了利用Servlet过滤器,您需要这样做:

    WebappContext webappContext = new WebappContext("grizzly web context", "");

    FilterRegistration testFilterReg = webappContext.addFilter("TestFilter", TestFilter.class);
    testFilterReg.addMappingForUrlPatterns(EnumSet.allOf(DispatcherType.class), "/*");

    ServletRegistration servletRegistration = webappContext.addServlet("Jersey", org.glassfish.jersey.servlet.ServletContainer.class);
    servletRegistration.addMapping("/myapp/*");
    servletRegistration.setInitParameter("jersey.config.server.provider.packages", "com.example");


    HttpServer server = HttpServer.createSimpleServer();
    webappContext.deploy(server);
    server.start();

简而言之,按照上面的方式注册ResourceConfig将有效地绕过Grizzly Servlet容器

为了利用Servlet过滤器,您需要这样做:

    WebappContext webappContext = new WebappContext("grizzly web context", "");

    FilterRegistration testFilterReg = webappContext.addFilter("TestFilter", TestFilter.class);
    testFilterReg.addMappingForUrlPatterns(EnumSet.allOf(DispatcherType.class), "/*");

    ServletRegistration servletRegistration = webappContext.addServlet("Jersey", org.glassfish.jersey.servlet.ServletContainer.class);
    servletRegistration.addMapping("/myapp/*");
    servletRegistration.setInitParameter("jersey.config.server.provider.packages", "com.example");


    HttpServer server = HttpServer.createSimpleServer();
    webappContext.deploy(server);
    server.start();

请验证正在使用的Jersey/Grizzly的版本,好吗?Jersey 2.4.1。Grizzly 2.3.3能否验证正在使用的Jersey/Grizzly版本?Jersey 2.4.1。灰熊2.3.3请你看看我的灰熊问题:你能看看我的灰熊问题吗: