问题描述:用idea的maven新建一个webapp项目,自动生成的web.xml默认版本是2.3版本(这版本连EL表达式都默认不能使用,无语了)。
Servlet 2.3:
<?xml version="1.0" encoding="UTF-8"?>
<!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>
</web-app>
1、临时解决办法:
把web.xml删掉。在Project Structure 里面的Modules重新添加一个Web.xml,能够生成并选择版本,但是这只是作用于当前项目。
2、永久解决办法:
修改默认版本,具体步骤如下:
进入“1.3”文件夹,找到jar包,如下图
用解压软件打开文件,记住不是解压。
按下图这个路径依次打开,找到web.xml文件:
直接打开web.xml,修改头文件,保存就可以了(注意:是在解压软件打开的的界面直接打开并修改web.xml,而不是解压成文件夹之后修改,也就是要保证jar包本来的结构不变)。
下面这个就是3.0的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">
原因:用maven新建webapp项目时,就是以这个***1.3.jar包里的web.xml为模板去生成新项目的web.xml,所以修改它就等于修改了模板。
来源:oschina
链接:https://my.oschina.net/u/4328287/blog/3451092