Обновление "web.xml" при переходе с Java Servlet 4 на Jakarta Servlet 5

Я перевожу простой сервлет с использования 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>
  • Что вообще делает этот фрагмент?
  • Как мне изменить эти значения, чтобы они соответствовали Jakarta Servlet 5?

Я ожидаю, что эти значения javaee и 4 должны измениться.

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
0
101
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Пример из Томкэт

Вот что я использую в своем файле веб.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>

Этот файл web.xml находился в веб-приложении ROOT в Tomcat 10. См. tomcat.apache.org/tomcat-10.0-doc/index.html.

rickz 20.03.2022 21:42

Ладно, не суть. Я только что скачал Tomcat 10.0.18. Там я нашел в основном тот же текст, который вы разместили. За исключением одного важного отличия: metadata-complete = "true" пока есть false. Я отредактировал ваш ответ, чтобы включить дополнительную информацию. Спасибо за ваш ответ и предложение взглянуть на связанные веб-приложения.

Basil Bourque 20.03.2022 22:06

@Basil спасибо за профессионализм и пополнение информации. Я использую аннотации. Итак, я использовал ложное значение.

rickz 20.03.2022 22:15

Другие вопросы по теме