• 解决The content of element type "webapp" must match报错


    Spring MVC中配置多个Servlet时,IDEA报错,如下:

    The content of element type "web-app" must match "(icon ,display-
    name ,description ,distributable ,context-param*,filter*,filter-mapping*,listener*,servlet*,servlet-
    mapping*,session-config ,mime-mapping*,welcome-file-list ,error-page*,taglib*,resource-env-
    ref*,resource-ref*,security-constraint*,login-config ,security-role*,env-entry*,ejb-ref*,ejb-local-ref*)".
    - No grammar constraints (DTD or XML schema) detected for the document.

    意思很简单,次序不对,很多博文建议删除DOCTYPE中的校验代码方法是不推荐的

    正确做法是调整次序

    如web.xml中存在如下多个servlet,此时编辑器将报错,xml代码如下:

     1   <servlet>
     2     <servlet-name>UserServlet</servlet-name>
     3     <servlet-class>fun.liping.web.UserServlet</servlet-class>
     4   </servlet>
     5   <servlet-mapping>
     6     <servlet-name>UserServlet</servlet-name>
     7     <url-pattern>/userServlet</url-pattern>
     8   </servlet-mapping>
     9   <servlet>
    10     <servlet-name>DispatcherServlet</servlet-name>
    11     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    12     <load-on-startup>1</load-on-startup>
    13   </servlet>
    14   <servlet-mapping>
    15     <servlet-name>DispatcherServlet</servlet-name>
    16     <url-pattern>/</url-pattern>
    17   </servlet-mapping>

    此时要保证所有的servlet标签在servlet-mapping标签前面,调整次序如下:

     1   <servlet>
     2     <servlet-name>UserServlet</servlet-name>
     3     <servlet-class>fun.liping.web.UserServlet</servlet-class>
     4   </servlet>
     5   <servlet>
     6     <servlet-name>DispatcherServlet</servlet-name>
     7     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
     8     <load-on-startup>1</load-on-startup>
     9   </servlet>
    10   <servlet-mapping>
    11     <servlet-name>UserServlet</servlet-name>
    12     <url-pattern>/userServlet</url-pattern>
    13   </servlet-mapping>
    14   <servlet-mapping>
    15     <servlet-name>DispatcherServlet</servlet-name>
    16     <url-pattern>/</url-pattern>
    17   </servlet-mapping>

    以上,问题解决。

    一起学习加微信交流:

  • 相关阅读:
    vcsa7.0可能不兼容esxi6.7
    使用livecd 更改root密码
    虚拟机初始化脚本
    一句话修改UUID
    vcsa 6.7 u1升级6.7 u2--6.7U3---6.7U3c
    【转载】:FreeRadius安装及与openldap的连接(centos 7 环境)
    freeradius 关联LDAP认证-按属性过滤LDAP目录中的用户
    使用包ldap3进行Python的LDAP操作
    2020年1月29日-学习flask第一天
    Python-xlwt库的基本使用
  • 原文地址:https://www.cnblogs.com/SharpL/p/16007855.html
Copyright © 2020-2023  润新知