当前位置: 首页 > 知识库问答 >
问题:

web描述符中web-app中的version属性是否会影响所使用的实际Servlet API版本?

傅毅然
2023-03-14

web上有许多提示表明,web.xml 中的版本必须与相应应用程序使用(和期望)的当前API匹配。例如:

  • Java web应用程序-什么决定了我的Servlet API版本?它在web.xml中指定了吗?
  • 网络应用程序版本到底是什么?影响什么?
  • org.apache.jasper.JasperException:当未指定默认命名空间时,函数测试必须与前缀一起使用
  • 如何使用
  • 检查EL服务器的版本
  • WebApp 2.4到2.5版本内存不足

我一直在调试[...]JasperException:Somewhere.jsp(69,10)如果在Tomcat 6.0.45中没有指定默认名称空间,函数concat必须与前缀一起使用。

经过一些研究,我发现somewhere.jsp调用一个带有参数的bean方法,这在EL 2.2+中只支持(例如,请参见EL 2.1和2.2之间的差异)。到目前为止还不错:Tomcat 6.0.45是一个只支持EL 2.1的servlet2.5容器

但是,我随后在Tomcat 8.0.32(Servlet 3.1,EL 3.0)上安装了相同的应用程序,使用相同的web.xml,失败不会显示,这让我感到惊讶,因为在web.xml中,我有version=“2.4”

我还试图通过只更改这个version属性来进一步调整用于编译和运行JSP的Servlet API版本,但失败了,所以我非常困惑。

共有1个答案

轩辕越泽
2023-03-14

在web.xml中指定的版本仅确定用于解析web.xml文件的规则。容器的行为总是由它所实现的规范的版本决定。

例如,不能通过在web.xml中指定version=“2.5”来禁用注释扫描(在Servlet3.0/Tomcat7中引入)。有关此需求的示例,请参见Servlet3.0Servlet规范的1.6.2节。

 类似资料:
  • 问题内容: 描述符对象需要存在于类中,而不是存在于实例中 因为那是实现的方式。 一个简单的例子。考虑一个描述符: 考虑每个obj具有多个Prop的情况:我将需要使用唯一的名称来标识值和乘数(如此处。具有每个实例的描述符对象将允许将(和)存储在描述符本身中,从而简化了几样东西。 我知道以前也曾提出过类似的问题,但我没有找到真正的解释: 为什么以这种方式设计Python? 建议使用哪种方式存储描述符需

  • Web 应用程序部署描述文件(见第14章,“部署描述文件”)的配置和部署信息包括以下几种类型: ServletContext 的初始化参数 Session 配置 Servlet/JSP 的定义 Servlet/JSP 的映射 MIME 类型映射 欢迎文件列表 错误页面 安全 扩展的依赖关系 当许多应用程序使用相同的代码或资源,通常将它们安装在容器的库文件中。这些文件往往是通用的或标准的 API,可

  • 问题内容: 亚马逊称该 加密和解密是透明处理的,因此您无需修改​​应用程序即可访问数据 我的应用程序(Rails,MySQL,Elasticsearch)构建了大量图形,因此查询了许多数据。根据我以前对数据库加密的经验,它确实会影响数据的检索速度(因为我们只能说记录在读取和解密后是否符合条件)。 有没有相关的基准?或者,也许您曾经使用过AWS的这种服务器端加密?我是否完全需要担心性能变化? 对我来

  • 有人能解释一下,WSDL文档的哪些标签描述了Web服务的合约吗?示例: 我知道xmlns:soap=”http://schemas.xmlsoap.org/wsdl/soap/“关注SOAP绑定和xmlns:http=”http://schemas.xmlsoap.org/wsdl/http/“关注HTTP GET POST请求,但我不知道如何确定web服务的契约。提前感谢

  • 我们知道,对象可以存储属性。 到目前为止,属性对我们来说只是一个简单的“键值”对。但对象属性实际上是更灵活且更强大的东西。 在本章中,我们将学习其他配置选项,在下一章中,我们将学习如何将它们无形地转换为 getter/setter 函数。 属性标志 对象属性(properties),除 value 外,还有三个特殊的特性(attributes),也就是所谓的“标志”: writable — 如果为

  • 问题内容: 我在表中有两个索引字段- 和(单个索引,不是复合索引)。 的字段值非常有限(假设它仅为0或1),因此50%的表记录具有相同的。另一方面,值来自更大的集合,因此具有相同值的记录量很小。 这些查询中的任何一个都会比另一个查询运行得更快吗? 另外,如果两个字段都没有索引,是否会改变行为? 问题答案: SQL被设计为一种声明性语言,而不是一种过程性语言。因此,查询优化器应该 不会 考虑在决定如