解决在web.xml中添加filter后idea提示错误的问题

  之前在整合SSM框架的时候,配置web.xml的时候一直提示错误,但filter、servlet的顺序写的也是对的,而且项目也能正常运行。
错误提示:

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

后来发现是web.xml的头部声明的问题。由于当时用的是maven创建的,默认使用的是Servlet2.3模板。最后改成Servlet3.1的就好了。

Servlet 3.1:
Java EE 7 XML schema,命名空间是 http://xmlns.jcp.org/xml/ns/javaee/
JSTL标签库使用<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
         http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
        version="3.1">

</web-app>

Servlet 3.0:
Java EE 6 XML schema,命名空间是 http://java.sun.com/xml/ns/javaee

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

</web-app>

Servlet 2.5:
Java EE 5 XML schema,命名空间是 http://java.sun.com/xml/ns/javaee

<?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_2_5.xsd"
          version="2.5">

</web-app>

Servlet 2.4:
Java EE 1.4 XML schema, 命名空间是 http://java.sun.com/xml/ns/j2ee

<?xml version="1.0" encoding="UTF-8"?>
<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/j2ee
          http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
          version="2.4">

</web-app>

Servlet 2.3:
Java EE 1.3 DTDs schema
JSTL标签库使用<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
  <display-name>Servlet 2.3 Web Application</display-name>
</web-app>

下面来罗列一下JSP中各个版本的JSTL的taglib的引用方式:
JSTL1.0(要求(必须满足此条件):Servlet 2.3, JavaServer Pages 1.2)的使用方法:
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>

JSTL1.1(要求(必须满足此条件):Servlet 2.4, JavaServer Pages 2.0)的使用方法:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

JSTL1.2(要求(必须满足此条件):Servlet 2.5, JavaServer Pages 2.1)的使用方法:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

不同版本的Java EE对应的要求:

VersionReleased in
JEE2 (J2EE 1.2)12 Dec 1999Servlet 2.2JSP 1.1
JEE3 (J2EE 1.3)24 Sep 2001Servlet 2.3JSP 1.2JSTL 1.0
JEE4 (J2EE 1.4)11 Nov 2003Servlet 2.4JSP 2.0JSTL 1.1JSF1.1
JEE511 May 2006Servlet 2.5JSP 2.1EL2.1JSTL 1.2JSF 1.2
JEE610 Dec 2009Servlet 3.0JSP 2.2EL 2.2JSTL 1.2JSF 2.0
JEE712 Jun 2013Servlet 3.1JSP 2.3EL 3.0JSTL 1.2JSF 2.2
  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值