Когда я пробовал следующий код в проекте сервлета,
<servlet>
<init-param>
<param-name>a</param-name>
<param-value>x</param-value>
</init-param>
<servlet-name>Result</servlet-name>
<servlet-class>Result</servlet-class>
</servlet>
он показывает ошибку, но когда я попробовал это,
<servlet>
<servlet-name>Result</servlet-name>
<servlet-class>Result</servlet-class>
<init-param>
<param-name>a</param-name>
<param-value>x</param-value>
</init-param>
</servlet>
ошибки нет. Есть предопределенный порядок?
Для схемы и dtd указан определенный порядок. Если вы ссылаетесь на них в своей среде IDE, он будет показывать ошибки, если они не соответствуют порядку. Однако большинство контейнеров J2EE не проверяют ваш web.xml на схему или dtd при ее синтаксическом анализе, чтобы не вызывать ошибок при использовании вашего.war/.ear.
Вы должны попытаться сохранить их в указанном порядке, так как легче найти вещи и внести изменения, если они сгруппированы.
Если вы прочитаете dtd/schema, он покажет заказ. Вы можете просто загрузить его из URL-адресов, перечисленных в других ответах здесь.
Для web.xml, да. Сервлет XSD (или DTD, если вы используете более старую версию) требует, чтобы элементы были перечислены в определенном порядке.
Я предполагаю, что вы говорите о web.xml
, вот как вы указываете схему:
DTD
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
XML-схема
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
Поэтому, если вы знакомы с XML-документами, вам должно быть легко проверить...
Если нет, вы можете прочитать некоторые уроки, другой вариант - использовать какой-то инструмент...