MVN工程不能用EL的问题

以下内容来自网络:

解决Maven创建web工程web.xml版本过低的问题,妈妈再也不用的担心我的学习了
一次性解决Maven项目web.xml版本过低的问题

Tom: Peter,你看我在Controller里面通过ModelAndView向前台传值,页面使用EL表达式怎么接收不到呀,而且页面直接把我的EL表达式直接输出了,好像没有解析一样。
Peter: 我帮你看看。。。。
Peter: Controller封装数据没有问题;页面跳转也没有问题;JSP页面也删掉重新创建了,也没有问题;这些都排除了。那是哪儿的问题?再看一下web.xml的头信息吧。哎,你的web.xml的头信息怎么是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
2
3
4
5
Tom: 这个倒没注意,是Maven自动生成的。
Peter: 把头信息改一下试试,改成较新的版本。重启一下tomcat试一下,果然好了。以后遇到这个问题,修改一下头信息就行了。

<?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>
1
2
3
4
5
6
Tom: 明白了。还有个问题,以后创建Maven项目是不是每次都需要改,好麻烦呀,有没有一次性解决的方案?
Peter: 有,不要眨眼睛,注意看!

一次性解决Maven项目web.xml版本过低的问题
首先得明白Maven工具也是java写的,使用也是需要依赖jar包的,所以我们得找到Maven工具所依赖的jar包。找哪个包呢?我们在创建web项目的时候选择的是“maven-srchetype-webapp”这个选项。web.xml这个文件也是从这个地方中拷贝出来的。所以我们需要去本地仓库找到这个jar,修改里面的web.xml即可

1、找到本地仓库中的【maven-archetype-webapp】目录,可以参照下图:

2、打开【1.4】这个目录,如果没有的就打开最新的版本。可以看到【maven-archetype-webapp-1.4.jar】文件

3、使用压缩包打开【maven-archetype-webapp-1.4.jar】文件,找到web.xml,右键使用记事本打开。
目录:maven-archetype-webapp-1.4.jararchetype-resourcessrcmainwebappWEB-INFweb.xml
4、将里面的头信息替换为新版本的即可。


<?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>
1
2
3
4
5
6
5、保存之后,压缩软件会提醒:压缩包中的文件已经被修改,是否重新压缩,点击确定重新压缩即可。
以上就永久修改了web.xml了,以后再用Maven创建项目的时候就不用再担心web.xml版本的问题了。同样index.jsp也可以按照同样的方式修改。(maven-archetype-webapp-1.4.jararchetype-resourcessrcmainwebappindex.jsp)

学会了吗?
————————————————
版权声明:本文为CSDN博主「Riu_Peter」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_43453853/article/details/90900755

原文地址:https://www.cnblogs.com/java-ty/p/11909934.html