問題描述:用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,所以修改它就等於修改了模板。