これは私の web.xml
xsd
<?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} '期待されています。
何が間違っているのですか?このエラーを修正するにはどうすればよいですか?
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>
面倒ですが、<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>