我需要通过代码将“Access-Control-Allow-Origin”设置为“*”。
阅读this我尝试设置 org.eclipse.jetty.servlets.CrossOriginFilter
使用setInitParameter
:
Server server = new Server(activity.WEB_SERVER_PORT);
ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
context.setWelcomeFiles(new String[] { "index.html" });
context.setContextPath("/");
context.setInitParameter("org.eclipse.jetty.servlets.CrossOriginFilter", "/*");
TheServlet sv = new TheServlet();
context.addServlet(new ServletHolder(sv),"/servleturl");
server.setHandler(context);
try {
server.start();
} catch (Exception e) { }
但是这不起作用。怎么解决?
最佳答案
尝试将 addFilter 方法与 filterHolder 一起使用。这段代码可能会有所帮助
FilterHolder filterHolder = new FilterHolder(CrossOriginFilter.class);
filterHolder.setInitParameter("allowedOrigins", "*");
filterHolder.setInitParameter("allowedMethods", "GET, POST");
ServletContextHandler servletContextHandler;
servletContextHandler = new ServletContextHandler(webServer, "/", ServletContextHandler.SESSIONS);
servletContextHandler.addServlet(atmosphereServletHolder, "/atmosphere/*");
servletContextHandler.addServlet(jerseyServletHolder, "/jersey/*");
servletContextHandler.addFilter(filterHolder, "/*", null);
关于java - 在 Jetty 中设置 Access-Control-Allow-Origin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29969996/