Я перевожу простой сервлет с использования Java Servlet 4 на Джакарта Сервлет 5.
Я заметил, что в моем файле web.xml
есть ссылки на спецификацию 4.
<?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_4_0.xsd"
version = "4.0">
</web-app>
Я ожидаю, что эти значения javaee
и 4
должны измениться.
Вот что я использую в своем файле веб.xml.
<?xml version = "1.0" encoding = "UTF-8"?>
<web-app
xmlns = "https://jakarta.ee/xml/ns/jakartaee"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = "https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd"
version = "5.0"
metadata-complete = "false"
>
<display-name> Welcome to Tomcat</display-name>
<description> Welcome to Tomcat</description>
</web-app>
Этот пример основан на файле веб.xml, найденном в веб-приложении ROOT
, входящем в комплект Tomcat 10.0.x. Прочтите раздел 8.1 Аннотации и подключаемостьСпецификация Jakarta Servlet 5, чтобы решить, хотите ли вы установить metadata-complete
на true
или false
.
См. также пример дескриптора развертывания (web.xml) в разделе 14.4.1. Основной пример документа Джакартская спецификация сервлетов, версия 5.0, Copyright (c) 2019, 2020 Eclipse Foundation.
<?xml version = "1.0" encoding = "UTF-8"?>
<web-app xmlns = "https://jakarta.ee/xml/ns/jakartaee"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = "https://jakarta.ee/xml/ns/jakartaee
web-app_5_0.xsd"
version = "5.0">
<display-name>A Simple Application</display-name>
<context-param>
<param-name>Webmaster</param-name>
<param-value>[email protected]</param-value>
</context-param>
<servlet>
<servlet-name>catalog</servlet-name>
<servlet-class>com.example.CatalogServlet</servlet-class>
<init-param>
<param-name>catalog</param-name>
<param-value>Spring</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>catalog</servlet-name>
<url-pattern>/catalog/*</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>30</session-timeout>
</session-config>
<mime-mapping>
<extension>pdf</extension>
<mime-type>application/pdf</mime-type>
</mime-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>index.html</welcome-file>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<error-page>
<error-code>404</error-code>
<location>/404.html</location>
</error-page>
</web-app>
Ладно, не суть. Я только что скачал Tomcat 10.0.18. Там я нашел в основном тот же текст, который вы разместили. За исключением одного важного отличия: metadata-complete = "true"
пока есть false
. Я отредактировал ваш ответ, чтобы включить дополнительную информацию. Спасибо за ваш ответ и предложение взглянуть на связанные веб-приложения.
@Basil спасибо за профессионализм и пополнение информации. Я использую аннотации. Итак, я использовал ложное значение.
Этот файл web.xml находился в веб-приложении ROOT в Tomcat 10. См. tomcat.apache.org/tomcat-10.0-doc/index.html.