`
regedit_123
  • 浏览: 323506 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

Tomcat5与Tomcat6的EL冲突,JSTL的版本问题

阅读更多

正在开发的程序在Tomcat6下运行得好好的,一拷贝到Tomcat5就出错了

Servlet.service() for servlet jsp threw exception

java.lang.NoClassDefFoundError: javax/el/ELException

at java.lang.Class.getDeclaredMethods0(Native Method)

at java.lang.Class.privateGetDeclaredMethods(Class.java:2365)

at java.lang.Class.getDeclaredMethods(Class.java:1763)

at java.beans.Introspector$1.run(Introspector.java:1259)

at java.security.AccessController.doPrivileged(Native Method)

at java.beans.Introspector.getPublicDeclaredMethods(Introspector.java:1257)

at java.beans.Introspector.getTargetMethodInfo(Introspector.java:1125)

at java.beans.Introspector.getBeanInfo(Introspector.java:383)

at java.beans.Introspector.getBeanInfo(Introspector.java:155)

at java.beans.Introspector.getBeanInfo(Introspector.java:216)

at java.beans.Introspector.<init>(Introspector.java:364)

at java.beans.Introspector.getBeanInfo(Introspector.java:155)

at org.apache.jasper.compiler.Generator$TagHandlerInfo.<init>(Generator.java:3673)

at org.apache.jasper.compiler.Generator$GenerateVisitor.getTagHandlerInfo(Generator.java:2092)

at org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1573)

at org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1441)

at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)

at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2213)

at org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2219)

这个问题应该是出在JSTL的支持上,通过查看,原来系统使用了JSTL1.2。再进一步到网上查看相关资料,发现:

The JSTL 1.2 Maintenace Release aligns with the Unified Expression Language (EL) that is being delivered as part of the JavaServer Pages (JSP) 2.1 specification。JSTL 1.2 is part of the Java EE 5 platform. (from http://java.sun.com/products/jsp/jstl/

Jakarta Taglibs hosts the Standard Taglib 1.1, an implementation of the JSP Standard Tag Library (JSTL), version 1.1, which was developed under the Java Community Process.

NOTE: Standard-1.1 (JSTL 1.1) requires a JSP container that supports the Java Servlet 2.4 and JavaServer Pages 2.0 specifications. Jakarta Tomcat 5 supports the new specifications. The Standard-1.1 taglib has been tested with Tomcat 5.0.3.

Standard-1.0 (implementation of the JSTL 1.0 specification) requires a JSP container that supports the Java Servlet 2.3 and JavaServer Pages 1.2 specifications. Jakarta Tomcat 4 supports these specifications. The Standard 1.0 taglib has been tested with Tomcat 4.1.24. (from http://jakarta.apache.org/taglibs/doc/standard-doc/intro.html)

Tomcat6 实现了 servlet 2.5 和JSP2.1的规范,可以支持JSTL1.2;而Tomcat5实现了 servlet 2.4 和JSP2.0的规范,只能支持JSTL1.1

所以,只要使用JSTL1.1(standard-1.1.jar和jstl-1.1.jar)替换JSTL1.2(jstl-1.2.jar)即可在Tomcat5下正常运行!另外,web.xml必须指定使用servlet 2.4 和JSP2.0的规范:

<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

分享到:
评论

相关推荐

    JSTL EL详解.pdf

    #### 一、JSTL与EL概述 JSTL(JSP Standard Tag Library)是一种用于简化JSP页面开发的技术。它通过提供一系列预定义的标签来减少开发者在JSP页面中编写Java代码的需求,从而使得页面更加清晰、易于维护。EL...

    el+jstl jar包 jstl.jar和standard.jar

    在实际应用中,`jstl.jar`和`standard.jar`通常与EL(Expression Language)结合使用。EL是一种轻量级的脚本语言,它允许开发者在JSP页面中直接访问JavaBean的属性,无需编写Java脚本。EL表达式简洁且易于理解,减少...

    tomcat 5.5下使用JSTL所需JAR包

    在Java Web开发中,JSP(Java...不过,要注意的是,Tomcat 5.5已经是较为陈旧的版本,对于现代的Web应用,建议升级到更稳定、功能更丰富的Tomcat版本,例如7或8,同时使用JSTL的最新版本,以获得更好的性能和兼容性。

    jstl1.1.jar和standard1.1.jar

    想起先前看到的一个知识点:tomcat 6 实现了 servlet 2.5 和JSP2.1的规范相应的 tomcat 5 实现的是 2.4和2.0,想到tomcat5不支持JSTL1.2,于是替换JSTL1.1的包试试看后,问题解决 解决方法:移出工程lib目录中的...

    JSTL以及EL表达式所需jar包

    虽然EL是Java EE的一部分,但在某些情况下,如Tomcat这样的轻量级应用服务器,可能需要这个JAR来支持EL表达式。 在部署Web应用到服务器之前,确保将这两个JAR文件添加到WEB-INF/lib目录下。这样,服务器就可以识别...

    JSP Tomcat7 提示JSTL错误.zip_JSP Tomcat7 提示JSTL错误

    2. **版本不兼容**:Tomcat7可能与JSTL的某些版本存在兼容性问题。确认使用的JSTL版本与Tomcat7相匹配。在本例中,`jstl-1.2.jar`通常可以与Tomcat7很好地配合。 3. **缺失Maven或Gradle依赖**:如果你的项目是基于...

    tomcat6 32位系统

    标题中的“tomcat6 32位系统”指的是Apache Tomcat 6版本,这是一个专为32位操作系统设计的开源Web应用服务器,主要用于部署和运行Java Servlet和JavaServer Pages(JSP)应用程序。Tomcat是Java EE(现在称为...

    JSTL相关Jar包(jstl+standard)

    对于JDK 8和Tomcat 9及以下版本,你需要使用与这些环境兼容的JSTL版本。JSTL的不同版本可能有不同的API和功能,确保兼容性至关重要。在这个压缩包中的"jdk8+tomcat9版本以下使用JSTL.zip"包含了适用于这些环境的JSTL...

    webServer tomcat5 / tomcat6 / tomcat7 / tomcat8

    标题中的"webServer tomcat5 / tomcat6 / tomcat7 / tomcat8"涉及到的是Apache Tomcat服务器的不同版本。Tomcat是一款开源的Java Servlet容器,主要用于实现Java Web应用程序的运行环境。它支持Servlet和JSP标准,由...

    EL&JSTL技术手册

    - **兼容性要求**: 如果使用的容器(如Tomcat)仅支持旧版Servlet和JSP(如Servlet 2.3和JSP 1.2),则需要升级到支持新版本的容器才能直接使用EL。 - **其他框架的采用**: JavaServer Faces (JSR-127) 也考虑将EL...

    jstl tomcat

    **标题:“JSTL在Tomcat中的应用与实践”** **描述:** 这篇博客主要探讨了JavaServer Pages Standard Tag Library (JSTL)在Tomcat应用服务器中的使用和配置,作者通过实例分享了如何将JSTL整合到Tomcat中以提高Web...

    el_jstl的初步了解

    JSTL 需要运行在支持 JSP 1.2 和 Servlet 2.3 或更高版本的容器环境中,例如 Tomcat 4.x 或以上版本。JSTL 由 Apache Jakarta 项目维护,是一套开源的标签库,其主要特点包括: 1. **核心标签库** (`...

    JavaWeb上机实验10 EL和JSTL优化程序

    把tomcat与eclipse进行关联,方便eclipse管理tomcat。 第三个要点是构建Java Web项目。Web项目开发的第一步就是要建立项目。在新建Project项目时,选择Dynamic Web Project项目类型,即可创建Web项目。 第四个要点是...

    apache-tomcat-8.5.53_tomcat的8.0版本_ApacheTomcat8.5_choiceyqj_

    2. **JSP 2.3**:此版本包含JSP 2.3的实现,带来了新的EL表达式功能、简化了JSP页面的编写,并且增强了JSTL库。 3. **NIO2和APR**:Tomcat 8.5引入了对Java NIO2的支持,同时保留了对Apache Portable Runtime (APR)...

    EL+JSTL实例教程.PDF

    - **支持环境**:EL需要在支持Servlet 2.4和JSP 2.0的Web容器中运行,如Apache Tomcat 5.x及以上版本。 - **不支持环境**:对于仅支持Servlet 2.3和JSP 1.2的老版本容器(例如Tomcat 4.1.29),EL将无法直接在JSP...

    JSTL1.1(tomcat5使用)

    JSTL1.1包含两个部分standard.jar和jstl.jar 使用JSTL时tomcat5.5最好是使用jstl1.1。 使用jstl时如果出现java.lang.NoSuchMethodError: javax.servlet.jsp.PageContext.getELContext()Ljavax/el/ELContext;

    JSTL1.1及EL表达式中文参考手册

    **JSTL1.1及EL表达式**是Java服务器页面(JSP)开发中的重要组件,它们极大地提升了JSP的可读性和可维护性。本文将深入探讨这两个概念及其在实际开发中的应用。 **JSTL(JavaServer Pages Standard Tag Library)**...

    tomcat5.5.28支持EL 表达式的解决方法.

    这主要是因为Tomcat的版本与所支持的JSP版本之间可能存在不匹配,导致开发者在使用EL时遇到各种问题,如语法错误或功能受限。 ### 解决方案:配置Web应用的web.xml 为了使Tomcat 5.5.28支持EL表达式,首先需要修改...

    tomcat9,版本号:tomcat-9.0.44,免费下载

    1. **Java EE 8支持**:Tomcat 9全面支持Java EE 8规范,包括Java Servlet 4.0、EL 3.0、JSTL 1.2等,为开发者提供了最新的标准工具和API。 2. **HTTP/2支持**:此版本增加了对HTTP/2协议的支持,通过使用更高效的...

Global site tag (gtag.js) - Google Analytics