Я запускаю jetty-9.4.8.v20171121
на Windows 10 на локальном хосте в качестве автономного сервера с помощью следующего пакетного сценария:
cd S:\Users\user\.jetty
S:
call java -jar S:\Applications\Jetty\start.jar
На этом сервере размещено несколько веб-приложений, некоторые из них Java приложений, некоторые из них - просто stati c веб-сайты, которые я использую для тестирования во время разработки. Один из таких сайтов c - это папка моих локальных проектов:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_3.dtd">
<Configure class="org.eclipse.jetty.server.handler.ContextHandler">
<Set name="contextPath">/projekte</Set>
<Set name="handler">
<New class="org.eclipse.jetty.server.handler.ResourceHandler">
<Set name="resourceBase">S:/Users/user/My Projects</Set>
<Set name="directoriesListed">true</Set>
</New>
</Set>
<Set name="virtualHosts">
<Array type="java.lang.String">
<Item>proj.local</Item>
<Item>127.0.0.2</Item>
</Array>
</Set>
</Configure>
. Эта папка отлично работает. Я могу перейти к http://127.0.0.2/projekte
, просмотреть список каталогов и успешно загрузить файлы.
Внутри S:/Users/user/My Projects
У меня есть папка с именем 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"
version="3.1">
<mime-mapping>
<extension>xht</extension>
<mime-type>application/xhtml+xml</mime-type>
</mime-mapping>
<mime-mapping>
<extension>wsc</extension>
<mime-type>application/xml</mime-type>
</mime-mapping>
<mime-mapping>
<extension>atom</extension>
<mime-type>application/atom+xml</mime-type>
</mime-mapping>
<error-page>
<error-code>404</error-code>
<location>/error404.html</location>
</error-page>
</web-app>
Но сервер, похоже, не учитывает ее. Ни одно из отображений, как я определил, не увенчалось успехом. При тестировании файла WS C (который должен соответствовать application/xml
) я вообще не получаю Content-Type
:
S:\Users\user>wget --server-response --spider -q http://127.0.0.2/projekte/Samples/WindowsScriptComponent.wsc
HTTP/1.1 200 OK
Last-Modified: Wed, 12 Feb 2020 10:33:41 GMT
Accept-Ranges: bytes
Content-Length: 7121
Server: Jetty(9.4.8.v20171121)
Если я тестирую другой файл (MS Excel), я получаю:
S:\Users\user>wget --server-response --spider -q http://127.0.0.2/projekte/Samples/excel.xls
HTTP/1.1 200 OK
Last-Modified: Sat, 18 Aug 2001 19:00:00 GMT
Content-Type: application/vnd.ms-excel
Accept-Ranges: bytes
Content-Length: 5632
Server: Jetty(9.4.8.v20171121)
Также не отображается страница ошибок, я получаю стандартную страницу Jetty для 404.
Итак, вот я:
- сконфигурированное состояние c сайт успешно (
S:\Users\user\My Projects
-> http://127.0.0.2/projekte
) - помещен, как задокументировано,
WEB-INF
в root каталог этого сайта (S:\Users\user\My Projects\WEB-INF
) - создал
web.xml
файл с mime-mappings в этом каталоге
Но, как кажется, Jetty использует только свою внутреннюю конфигурацию content-type , игнорируя мою.
Я регулярно получаю сообщения об ошибках во время запуска Jetty, например:
2020-02-12 11:24:20.891:INFO:oejw.StandardDescriptorProcessor:main: NO JSP Support for /basex, did not find org.eclipse.jetty.jsp.JettyJspServlet
, но я не думаю, что это связано. Поскольку я не Java разработчик, я должен использовать только файлы конфигурации.
Я что-то упустил? Спасибо.