47

これは私のweb.xmlxsdです

<?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://java.sun.com/xml/ns/javaee" 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_3_0.xsd"
    version="3.0">

ここにサーブレットノードがあります

<servlet>
    <servlet-name>spring1</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
    <init-param> <!-- here is a problem -->
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/spring-servlet.xml</param-value>
    </init-param>
</servlet>

マークされた行で xml バリデーターは言う

cvc-complex-type.2.4.a: 要素「init-param」で始まる無効なコンテンツが見つかりました。'{" http://java.sun.com/xml/ns/javaee ":enabled、" http://java.sun.com/xml/ns/javaee ":async-supported、" http:/のいずれか/java.sun.com/xml/ns/javaee ":run-as, " http://java.sun.com/xml/ns/javaee ":security-role-ref, " http://java.sun .com/xml/ns/javaee ":multipart-config}" が必要です。

何が問題で、このエラーを修正するにはどうすればよいですか?

4

3 に答える 3

136

問題の要素の順序web.xmlと、私が遭遇したすべての例では、 の<load-on-startup>後に続き<init-param>ます。

<servlet>
    <servlet-name>spring1</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/spring-servlet.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
于 2011-03-03T00:15:30.377 に答える
17

それは衒学的ですが、<init-param>前に来なければならない<load-on-startup>ので、:

<servlet>
    <servlet-name>spring1</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param><!--here is a problem-->
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/spring-servlet.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
于 2011-03-03T00:13:21.343 に答える