一、问题描述
1.在使用Maven创建web工程的时候发现默认web.xml版本居然是2.4的,这个版本连EL表达式都用不了,所以很是糟心
2.所以为了解决Idea创建Maven Web工程的web.xml版本问题,给大家提供了三种解决办法
二、问题解决
1、暂时解决(问题可解决 但不推荐)
解决方案一:
在jsp页面的头部加入如下内容,此方法仅仅解决了EL表达式不能用的问题,不排除有别的错误发生
<%@ page isELIgnored="false" %>
解决方案二:
将项目的web.xml头换成需要的版本,比如Tomcat9.0对应4.0版本,此方法相对方案一来说是不错的选择
<?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_4_0.xsd"
version="4.0">
</web-app>
![](https://img-blog.csdnimg.cn/img_convert/95cfc0a25a979a9a47a9de265b22f8f4.png)
2、永久解决
通过创建Maven web工程发现,我们选择的是maven-archetype-webapp这个jar包,所以在Maven web项目中生成的web.xml文件就是从该jar包中拷贝出来的,所以我们要做的就是改动此jar包的web.xml文件
![](https://img-blog.csdnimg.cn/img_convert/2e8b1675f8422b80e692744e5e5ee622.png)
在Tomcat安装目录下的webapp/ROOT/WEB-INF中中找到我们需要的web.xml
![](https://img-blog.csdnimg.cn/img_convert/94066b18a7f1a4e86d901938f08af51a.png)
然后在自己的maven仓库里找到maven-archetype-webapp这个jar包,我的在如下路径
![](https://img-blog.csdnimg.cn/img_convert/bb0ceaedf0fca7485cb7588c178be503.png)
接着使用压缩工具打开jar包,依次进入maven-archetype-webapp-1.4.jar\archetype-resources\src\main\webapp\WEB-INF目录中,找到web.xml
![](https://img-blog.csdnimg.cn/img_convert/7150caab2b220596866124cbdd10c8bb.png)
最后将此web.xml的头内容替换为我们需要的头信息(也可以直接删除这个web.xml,然后直接从Tomcat安装目录下的webapp/ROOT/WEB-INF中将web.xml给复制过来替换原来的web.xml),两种方式都行
![](https://img-blog.csdnimg.cn/img_convert/5984ad3f9499a0683b575e4f1c7ad219.png)
修改完成,保存。重新创建web工程,出现的web.xml就是我们刚刚修改的web.xml,至此,问题完美解决。。。。撒花