As you will see, you have changed nothing in your ${jetty.home}
directory in order to accomplish your end goals.
jetty.httpConfig.sendServerVersion
to false in etc\jetty.xml
That's a property, just define the value you want in your appropriate ${jetty.base}/start.d/*.ini
file.
- Increased the query params to
10000
in etc\jetty.xml
.
<Call name="setAttribute">
<Arg>org.eclipse.jetty.server.Request.maxFormKeys</Arg>
<Arg>10000</Arg>
</Call>
That won't work as a Server property or attribute.
If you want to configure maxFormKeys, you do that for the specific webapp and/or context.
Use the documented XML deployable for your webapp and set the maxFormKeys
<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "https://www.eclipse.org/jetty/configure_10_0.dtd">
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
... other configuration for your webapp ...
<Set name="maxFormContentSize">400000</Set>
<Set name="maxFormKeys">400</Set>
</Configure>
- set development mode to false in
etc\webdefault.xml
<init-param>
<param-name>development</param-name>
<param-value>false</param-value>
</init-param>
- add below MIME Types in mime.properties file under lib\jetty-http-11.0.6.jar\org\eclipse\jetty\http folder
appcache=text/cache-manifest
ttf=application/font-sfnt
For both of these, the correct place to configure them is your webapp specific descriptor.
Note: that the mime.properties
defines the MimeTypes
defaults, and the values in MimeTypes
are only used for serving static content from the DefaultServlet
.
For custom descriptor behavior, you configure that in your specific webapp and/or context.
You can:
- declare the entire new default descriptor with
<Set name="defaultsDescriptor">...location...</Set>
- or provide a replacement descriptor to apply after the default descriptor, which is just a diff of changes from the default descriptor.
<Set name="overrideDescriptor">...location...</Set>
- or provide that entries you want in your
WEB-INF/web.xml
descriptor.
For option 1 (this approach is not recommended, as you are stomping on the version in jetty itself, and wont get fixes/updates/improvements that come with newer versions of Jetty), copy the entire contents of webdefault.xml
into a new file in your ${jetty.base}/etc/
,
and reference it in your XML deployable ${jetty.base}/webapps/<name>.xml
like this ...
<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "https://www.eclipse.org/jetty/configure_10_0.dtd">
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
... other configuration for your webapp ...
<Set name="defaultsDescriptor"><Property name="jetty.base" default="."/>/etc/custom-default-descriptor.xml</Set>
</Configure>
For option 2 (best server level option) ${jetty.base}/etc/override-web.xml
and option 3 (most correct use of servlet spec) WEB-INF/web.xml
the descriptor is only the differences from default, and would looks like this...
<?xml version="1.0" encoding="UTF-8"?>
<web-app
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
metadata-complete="false"
version="3.1" >
<servlet id="jsp">
<servlet-name>jsp</servlet-name>
<init-param>
<param-name>development</param-name>
<param-value>false</param-value>
</init-param>
</servlet>
<mime-mapping>
<extension>appcache</extension>
<mime-type>text/cache-manifest</mime-type>
</mime-mapping>
<mime-mapping>
<extension>ttf</extension>
<mime-type>application/font-sfnt</mime-type>
</mime-mapping>
</web-app>
For option 2, you reference it in your ${jetty.base}/webapps/<name>.xml
like this ...
<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "https://www.eclipse.org/jetty/configure_10_0.dtd">
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
... other configuration for your webapp ...
<Set name="overrideDescriptor"><Property name="jetty.base" default="."/>/etc/override-web.xml</Set>
</Configure>