zoukankan      html  css  js  c++  java
  • cvc-complex-type.2.4.a: Invalid content was found starting with element 'init-param'.

    笔者最近学习一些spring mvc,在复制别人代码的时候报这个错。报错来源web.xml,原因是不符合xsd对xml的约束

    源文件

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns="http://java.sun.com/xml/ns/javaee"
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
        id="WebApp_ID" version="3.0">
    
        <servlet>
            <!--名称 -->
            <servlet-name>springmvc</servlet-name>
            <!-- Servlet类 -->
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>   
            <!-- 启动顺序,数字越小,启动越早 -->
            <load-on-startup>1</load-on-startup>  
            <init-param>
                <!--SpringMVC配置参数文件的位置 -->
                <param-name>contextConfigLocation</param-name>
                <!--默认名称为ServletName-servlet.xml -->
                <param-value>classpath*:springmvc-servlet.xml</param-value>
            </init-param>              
        </servlet>
    
        <!--所有请求都会被springmvc拦截 -->
        <servlet-mapping>
            <servlet-name>springmvc</servlet-name>
            <url-pattern>/</url-pattern>
        </servlet-mapping>
    
    </web-app>

    解决方法:

    调整<load-on-startup>节点的顺序,放到</servlet>之前,修改后的web.xml如下

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns="http://java.sun.com/xml/ns/javaee"
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
        id="WebApp_ID" version="3.0">
    
        <servlet>
            <!--名称 -->
            <servlet-name>springmvc</servlet-name>
            <!-- Servlet类 -->
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>   
            <init-param>
                <!--SpringMVC配置参数文件的位置 -->
                <param-name>contextConfigLocation</param-name>
                <!--默认名称为ServletName-servlet.xml -->
                <param-value>classpath*:springmvc-servlet.xml</param-value>
            </init-param>
            <!-- 启动顺序,数字越小,启动越早 -->
            <load-on-startup>1</load-on-startup>        
        </servlet>
    
        <!--所有请求都会被springmvc拦截 -->
        <servlet-mapping>
            <servlet-name>springmvc</servlet-name>
            <url-pattern>/</url-pattern>
        </servlet-mapping>
    
    </web-app>
  • 相关阅读:
    sublime的ctags安装
    微信授权
    [读码时间] 图片列表:鼠标移入/移出改变图片透明度
    [读码时间] 提示框效果
    [读码时间] 鼠标移入移出改变样式
    [读码时间] 数组求和
    [读码时间] 简易选项卡
    [读码时间] 简易JS年历
    [读码时间] 记住密码提示框
    [读码时间] 函数传参,改变Div任意属性的值
  • 原文地址:https://www.cnblogs.com/passedbylove/p/7525846.html
Copyright © 2011-2022 走看看