I am using Jetty9 and I want to check if text file compression will improve performance. At first, I am interested in serving offline compressed files as described in: http://marianoguerra.org/posts/201205enable-gzip-compression-in-jetty.html
My code looks like this:
static private void set_jetty_handlers(Server server)
{
ServletHolder servletHolder = new ServletHolder(new DefaultServlet());
servletHolder.setInitParameter("gzip", "true");
ServletContextHandler s_context_handler = new ServletContextHandler();
s_context_handler.addServlet(servletHolder,"/*");
ResourceHandler resource_handler = new ResourceHandler();
resource_handler.setDirectoriesListed(false);
resource_handler.setWelcomeFiles(new String[] {"index.html"});
resource_handler.setResourceBase("");
resource_handler.setCacheControl(MAX_AGE);
resource_handler.setHandler(s_context_handler);
ContextHandler context_handler = new ContextHandler();
context_handler.addAliasCheck(new ContextHandler.ApproveAliases());
HandlerList handlers = new HandlerList();
handlers.setHandlers(new Handler[] { new my_jetty_handler(), resource_handler, new DefaultHandler() });
context_handler.setHandler(handlers);
server.setHandler(context_handler);
configureThreadPool(server);
}
But when I squeezed test.htmlin test.html.gz, I got it HTTP ERROR: 404. The lines I added to enable gzip compression are marked gzip:in the comment.
I also found that an older version of Jetty had ResourceHandler.setMinGzipLength(). It is not available in the current version of Jetty, but from the documentation it does what I want.
gzip? , GzipFilter my_jetty_handler(), , , Java.