如何修改jetty-home-11.0.6\etc\*.xml文件
How to modify jetty-home-11.0.6\etc\*.xml files
我正在将 Jetty9 更新到 Jetty11 并了解 Jetty-Home 和 Jetty-Base 目录的概念。我的问题是如何修改以下文件,因为 Jeety-Home 是只读目录,不应在 Jetty-Home 目录中更新。
- etc\jetty.XML
- etc\webdefault.XML
- etc\jetty-requestlog.xml
- lib\jetty-http-11.0.6.jar\org\eclipse\jetty\http(添加 MimeType)
我正在阅读有关自定义 Jetty 模块概念的信息,但无法获得太多信息。这是这样做的方法吗?
请分享参考文档
我以前是直接在jetty-distribution-9.4.43.v20210629中修改上述文件
Exa :- 我必须修改以下属性,例如
1. jetty.httpConfig.sendServerVersion to false in etc\jetty.xml
2. 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>
3. set development mode to false in etc\webdefault.xml
<init-param>
<param-name>development</param-name>
<param-value>false</param-value>
</init-param>
4. 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
如您所见,为了实现您的最终目标,您在 ${jetty.home}
目录中没有进行任何更改。
jetty.httpConfig.sendServerVersion
to false in etc\jetty.xml
那是 属性,只需在适当的 ${jetty.base}/start.d/*.ini
文件中定义您想要的值即可。
- 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>
这不能用作服务器 属性 或属性。
如果您想配置 maxFormKeys,请针对特定的 Web 应用 and/or 上下文进行配置。
为您的 webapp 使用记录的 XML 可部署文件并设置 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
对于这两者,配置它们的正确位置是您的 webapp 特定描述符。
注意:mime.properties
定义了 MimeTypes
默认值,MimeTypes
中的值仅用于提供来自 DefaultServlet
.[=41 的静态内容=]
对于自定义描述符行为,您可以在特定的 webapp and/or 上下文中进行配置。
您可以:
- 用
<Set name="defaultsDescriptor">...location...</Set>
声明整个新的默认描述符
- 或者提供一个替换描述符以在默认描述符之后应用,这只是与默认描述符不同的变化。
<Set name="overrideDescriptor">...location...</Set>
- 或在
WEB-INF/web.xml
描述符中提供您想要的条目。
对于选项 1(不推荐这种方法,因为您正在使用 Jetty 本身的版本,并且不会得到 fixes/updates/improvements 新版本的 Jetty),将 webdefault.xml
的全部内容复制到 ${jetty.base}/etc/
中的新文件中,
并在您的 XML 可部署 ${jetty.base}/webapps/<name>.xml
中引用它,就像这样...
<?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>
对于选项 2(最佳服务器级别选项)${jetty.base}/etc/override-web.xml
和选项 3(servlet 规范的最正确用法)WEB-INF/web.xml
描述符只是与默认的不同,看起来像这样...
<?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>
对于选项 2,您可以像这样在 ${jetty.base}/webapps/<name>.xml
中引用它...
<?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>
我正在将 Jetty9 更新到 Jetty11 并了解 Jetty-Home 和 Jetty-Base 目录的概念。我的问题是如何修改以下文件,因为 Jeety-Home 是只读目录,不应在 Jetty-Home 目录中更新。
- etc\jetty.XML
- etc\webdefault.XML
- etc\jetty-requestlog.xml
- lib\jetty-http-11.0.6.jar\org\eclipse\jetty\http(添加 MimeType)
我正在阅读有关自定义 Jetty 模块概念的信息,但无法获得太多信息。这是这样做的方法吗? 请分享参考文档
我以前是直接在jetty-distribution-9.4.43.v20210629中修改上述文件
Exa :- 我必须修改以下属性,例如
1. jetty.httpConfig.sendServerVersion to false in etc\jetty.xml
2. 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>
3. set development mode to false in etc\webdefault.xml
<init-param>
<param-name>development</param-name>
<param-value>false</param-value>
</init-param>
4. 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
如您所见,为了实现您的最终目标,您在 ${jetty.home}
目录中没有进行任何更改。
jetty.httpConfig.sendServerVersion
to false inetc\jetty.xml
那是 属性,只需在适当的 ${jetty.base}/start.d/*.ini
文件中定义您想要的值即可。
- Increased the query params to
10000
inetc\jetty.xml
.<Call name="setAttribute"> <Arg>org.eclipse.jetty.server.Request.maxFormKeys</Arg> <Arg>10000</Arg> </Call>
这不能用作服务器 属性 或属性。
如果您想配置 maxFormKeys,请针对特定的 Web 应用 and/or 上下文进行配置。
为您的 webapp 使用记录的 XML 可部署文件并设置 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
对于这两者,配置它们的正确位置是您的 webapp 特定描述符。
注意:mime.properties
定义了 MimeTypes
默认值,MimeTypes
中的值仅用于提供来自 DefaultServlet
.[=41 的静态内容=]
对于自定义描述符行为,您可以在特定的 webapp and/or 上下文中进行配置。
您可以:
- 用
<Set name="defaultsDescriptor">...location...</Set>
声明整个新的默认描述符
- 或者提供一个替换描述符以在默认描述符之后应用,这只是与默认描述符不同的变化。
<Set name="overrideDescriptor">...location...</Set>
- 或在
WEB-INF/web.xml
描述符中提供您想要的条目。
对于选项 1(不推荐这种方法,因为您正在使用 Jetty 本身的版本,并且不会得到 fixes/updates/improvements 新版本的 Jetty),将 webdefault.xml
的全部内容复制到 ${jetty.base}/etc/
中的新文件中,
并在您的 XML 可部署 ${jetty.base}/webapps/<name>.xml
中引用它,就像这样...
<?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>
对于选项 2(最佳服务器级别选项)${jetty.base}/etc/override-web.xml
和选项 3(servlet 规范的最正确用法)WEB-INF/web.xml
描述符只是与默认的不同,看起来像这样...
<?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>
对于选项 2,您可以像这样在 ${jetty.base}/webapps/<name>.xml
中引用它...
<?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>