2015-02-05 2 views
1

Когда я попытался следующий код сервлета проектаИмеет ли элемент порядок в web.xml?

<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> 

нет никакой ошибки. Есть предопределенный порядок?

ответ

1

Для web.xml, да. Сервлет XSD (или DTD, если вы используете более старую версию) требует, чтобы элементы были перечислены в определенном порядке.

+0

thanks.can u упомянуть об этом конкретном заказе? – kshitiz

1

Я полагаю, вы говорите о web.xml, вот как вы определяете схему:

ОТД

<!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"> 

Так что, если вы знакомы с XMLs, это вам должно быть легко проверить ...

Если нет, вы можете прочитать некоторые tutorial другой вариант - использовать какой-то инструмент ...

+0

Связанный с XSD: http://www.oracle.com/webfolder/technetwork/jsc/xml/ns/javaee/web-app_2_5.xsd – gclaussn

1

Для схемы и dtd указан определенный порядок. Если вы ссылаетесь на них в своей среде IDE, он будет показывать ошибки, если они не соответствуют порядку. Однако большинство контейнеров J2EE не проверяют ваш web.xml на схему или dtd при ее синтаксическом анализе, чтобы не вызывать ошибок при использовании вашего .war/.ear.

Вам следует попытаться сохранить их в указанном порядке, так как легче найти вещи и внести изменения, если они сгруппированы.

Если вы прочитаете схему dtd/schema, она отобразит заказ. Вы можете просто загрузить его с URL-адресов, перечисленных в других ответах здесь.

Смежные вопросы