Dynamic Web开发之版本分析

本文探讨在Maven Web项目中遇到的Java版本与Servlet版本冲突问题。内容涉及Servlet API版本、Tomcat与Servlet的关系以及解决Maven项目中版本不匹配的步骤,包括修改POM.xml、web.xml和org.eclipse.wst.common.project.facet.core.xml文件。

前言:写这篇博客的原因是,我在使用Maven构建一个web模块的时候,其使用的JavaSE1.5环境,在build path配置中改变后,更新Maven项目又变成了1.5,而且EL表达式在JSP中无法解析,这也就是我弄清楚这些问题的初衷。

  我们使用Maven的maven-archetype-webapp创建Web模块,其默认使用的是J2SE-1.5环境,而且Dynamic Web的版本为2.3,我们可以通过如下方式进行查看:项目右击 → 最下面的Properties → Project Facets,如下:

  我们可以查看到<1>的版本为2.3,<2>的版本为1.5,更让人郁闷的是在Java上右击可以Change Version,而Dynamic Web Module却无法更改,并且Java的版本是改了,可是你是用Maven进行update Project,Java的版本又变成了1.5。

  在我们针对这个问题讲述解决方法之前,先对各个版本关系进行整理。

1. Servlet API

  Web项目开发离不开Servlet,Servlet的各版本如下:

Servlet API history
Servlet APIversion Platform Important Changes
Servlet 3.1 Java EE 7 Non-blocking I/O, HTTP protocol upgrade mechanism (WebSocket)
Servlet 3.0 Java EE 6, Java SE 6 Pluggability, Ease of development, Async Servlet, Security, File Uploading
Servlet 2.5 Java EE 5, Java SE 5 Requires Java SE 5, supports annotation
Servlet 2.4 J2EE 1.4, J2SE 1.3 web.xml uses XML Schema
Servlet 2.3 J2EE 1.3, J2SE 1.2 Addition of Filter
Servlet 2.2 J2EE 1.2, J2SE 1.2 Becomes part of J2EE,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值