0
我有一個新澤西的服務器上運行我的休息服務配置如下:如何修改球衣響應頭
try {
final ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
context.setContextPath(serverConfig.getContextPath());
final Server jettyServer = new Server(serverConfig.getPort());
jettyServer.setHandler(context);
ResourceConfig config = new ResourceConfig();
config.register(CORSResponseFilter.class);
final ServletHolder jerseyServlet = context.addServlet(org.glassfish.jersey.servlet.ServletContainer.class, serverConfig.getBaseName());
jerseyServlet.setInitOrder(0);
jerseyServlet.setInitParameter("jersey.config.server.provider.packages", "com.myRest.rest");
jerseyServlet.setInitParameter("jersey.config.server.provider.classnames", entryPoints());
jettyServer.start();
jettyServer.join();
} catch (Exception e) {
e.printStackTrace();
}
我試圖修改所有響應的頭,讓我用一個過濾器:
@Provider
public class CORSResponseFilter implements ContainerResponseFilter {
@Override
public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext)
throws IOException {
MultivaluedMap headers = responseContext.getHeaders();
headers.add("Access-Control-Allow-Origin", "*");
headers.add("Access-Control-Allow-Methods", "GET, POST, DELETE, PUT");
headers.add("Access-Control-Allow-Headers", "X-Requested-With, Content-Type, X-Codingpedia");
}
}
但是,由於某種原因,此過濾器從未被調用過。
我使用embebed碼頭9.2.13.v20150730。我看到了一些建議更改web.xml的答案,但我沒有使用xml配置。