我正在使用码头8.1.3.v20120416(EOL)嵌入式
我已经有一个HttpServlet处理某些GET和POST请求。
现在我想添加gzipHandler()以处理进入上述servlet的所有请求和响应的gzip压缩/解压缩
从GzipResponsesExample in the Embedded Jetty Cookbook ...
import java.io.File;
import java.nio.file.Path;
import org.eclipse.jetty.cookbook.servlets.TimeServlet;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.ServerConnector;
import org.eclipse.jetty.server.handler.gzip.GzipHandler;
import org.eclipse.jetty.servlet.DefaultServlet;
import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.util.resource.PathResource;
public class GzipResponsesExample
{
public static void main(String[] args) throws Exception
{
Server server = new Server();
ServerConnector connector = new ServerConnector(server);
connector.setPort(8080);
server.addConnector(connector);
GzipHandler gzip = new GzipHandler();
gzip.setIncludedMethods("GET","POST");
gzip.setMinGzipSize(245);
gzip.setIncludedMimeTypes("text/plain","text/css","text/html",
"application/javascript");
server.setHandler(gzip);
Path webRootPath = new File("webapps/static-root/").toPath().toRealPath();
ServletContextHandler context = new ServletContextHandler();
gzip.setHandler(context);
context.setContextPath("/");
context.setBaseResource(new PathResource(webRootPath));
context.setWelcomeFiles(new String[] { "index.html" });
// Adding Servlets
context.addServlet(TimeServlet.class,"/time/");
context.addServlet(DefaultServlet.class,"/"); // always last, always on "/"
server.start();
server.join();
}
}