如果您只是设置一个属性,则可以将其设置在HttpConfiguration
默认实例化的那个上:
public static void main(String[] args) throws Exception {
Server server = new Server(8080);
server.setHandler(new DefaultHandler()); // 404s for everything except favicon.ico
for (Connector c : server.getConnectors()) {
c.getConnectionFactory(HttpConnectionFactory.class).getHttpConfiguration().setRequestHeaderSize(65535);
}
server.start();
server.join();
}
您不必单独覆盖 HTTPS 配置,因为根据您对当前实例化内容的描述,您没有任何 HTTPS 连接器。即使你确实有一个 HTTPS 连接器,上面的循环也会起作用,因为ServerConnector
为 HTTPS 配置的仍然会有一个关联的HttpConnectionFactory
. 您可以在此示例中看到如何配置 HTTPS 连接器。
但是,自己设置必要的对象实际上并没有那么多代码:
public static void main(String[] args) throws Exception {
Server server = new Server();
server.setHandler(new DefaultHandler()); // 404s for everything except favicon.ico
HttpConfiguration config = new HttpConfiguration();
config.setRequestHeaderSize(65535);
ServerConnector http = new ServerConnector(server, new HttpConnectionFactory(config));
http.setPort(8080);
server.setConnectors(new Connector[] {http});
server.start();
server.join();
}
我建议您自己进行设置,因为如果您将来有其他配置更改,它会更容易维护。