[标题]:调试EL函数时,Tomcat提示NullPointerException
[时间]:2009-4-2
[摘要]:EL函数对应的Java方法必须是静态的。
[关键字]:NullPointerException,EL函数,taglib,function,JSP
[平台]:Tomcat6
[作者]:Winty (wintys@gmail.com)
[正文]:
调试EL函数时,Tomcat提示如下错误:
java.lang.NullPointerException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.el.parser.AstFunction.getValue(AstFunction.java:94)
at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
at org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:928)
at org.apache.jsp.ch11_005fEL.ELFunction.ELFunctionTest_jsp._jspService(ELFunctionTest_jsp.java:67)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:384)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:866)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:716)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1498)
at java.lang.Thread.run(Thread.java:619)
在网上查到了类似java.lang.reflect.Method.invoke的错误信息,与自己的并不一致。最后,发现书上讲到的一句话,EL函数对应的Java方法必须是静态的。错误原因就是这样。把所涉及的方法改为静态就可以正常执行EL函数了。
分享到:
相关推荐
3. **类型自动转换**:EL在从作用域中获取数据时,会自动进行类型转换,这样开发者就不必担心数据类型的问题。 4. **隐式对象的支持**:EL支持一系列预定义的隐式对象,如`param`、`paramValues`等,它们可以帮助...
MyEclipse是一款功能强大的Java集成开发环境,它支持对Tomcat等应用服务器的远程调试,这在处理生产环境中遇到的问题时非常有用。本篇文章将详细介绍如何在MyEclipse中远程调试Tomcat。 首先,我们来看一下问题背景...
这个问题通常伴随着"Errors occurred during the build"和"java.lang.NullPointerException"这样的错误提示,这可能是由于多种原因导致的。 首先,我们来看一下这个特定的错误:"Errors running builder '...
在Java开发过程中,`java.lang.NullPointerException`(简称NPE)是一种常见的运行时异常。它发生在试图对空对象执行操作时,例如调用对象的方法或访问其属性等。当我们在启动Tomcat服务器时遇到此类错误,这可能与...
对于 Tomcat 这样的应用服务器而言,守护进程可以在服务器异常关闭或遇到故障时自动启动,从而保证服务的连续性和稳定性。 心跳检测是一种常用的健康检查机制,通过定期发送请求到指定的服务端口来判断服务是否正常...
Java.lang.NullPointerException 是 Java 语言中一种常见的异常,它发生在 Java 应用程序尝试使用 null 对象引用时。这种异常通常是由于程序员错误地认为对象已经被初始化或赋值,而实际上对象仍然是 null。 在本文...
Excel文件读取时NullPointerException 异常处理
`NullPointerException` 是Java标准库中`java.lang`包下的一个运行时异常。当程序试图通过一个为null的引用调用方法或者访问其字段时,系统会抛出此异常。在Java中,null不是一个对象,而是表示没有对象的引用状态。...
Apache Tomcat 8.0.33是一款广泛应用的开源Java Servlet容器,主要负责运行Java Web应用程序,特别是基于Java EE的Web应用。这个版本是针对Windows 64位系统的,因此在64位操作系统上表现最佳。2016年3月24日发布的...
当遇到“Tomcat异常”时,通常意味着在运行或配置Tomcat时遇到了问题。下面将详细讨论相关知识点: 1. **Tomcat异常类型**: - `NullPointerException`:这是Java中最常见的异常,表示尝试访问一个null对象的属性...
例如,在调试一个可能抛出NullPointerException的程序时,可以设置一个异常断点,只有当程序抛出NullPointerException时,程序才会停止。 3. 观察点 观察点是Eclipse中的一种断点类型,它可以在程序访问或修改某个...
使用EL时,应遵循一些最佳实践,如避免在EL表达式中使用复杂的逻辑,因为这可能降低代码的可读性和可维护性。更复杂的业务逻辑应移至后台Java代码中处理。 以上内容涵盖了EL语言规范的核心知识点,但要完全掌握EL...
在描述中提到的“修复了redis-session-manager-tomcat6包存入null值的session时报空指针问题”,这表明在之前的版本中,当试图将null值存储到session时,由于某些原因可能会触发Java中的NullPointerException。...
在Java编程中,NullPointerException是一种常见的运行时异常,它发生在尝试访问或操作一个尚未被初始化或已经是null的对象时。解决NullPointerException的方法通常包括对变量进行初始化、在访问对象之前进行空值检查...
当我们尝试访问或操作一个 null 对象时,将抛出 NullPointerException。例如,在上面的代码中,我们尝试访问 conn 对象的方法时,如果 conn 对象为 null,将抛出 NullPointerException。 原因三:未检查空指针 在 ...
- 当Tomcat启动时,会自动解压WAR文件并创建对应的Web应用程序目录结构。 3. **启动Tomcat服务** - 进入Tomcat安装目录下的`bin`目录,执行`startup.bat`脚本以启动Tomcat服务(Windows系统)。 - 如果一切正常...
1. NullPointerException简介:NullPointerException,即空指针异常,是Java语言中的一种运行时异常。它通常发生在试图调用一个未指向任何对象的引用变量的方法或属性时。这种异常会导致程序停止执行,除非通过异常...
在Java编程中,NullPointerException是一种常见的异常,通常发生在尝试在空对象引用上访问或执行操作时。为了防止这种异常,开发人员必须在代码中做好相应的异常处理措施。以下是几种常见的预防和解决...
这种异常发生在程序试图访问或操作一个为null的对象时。下面是可能发生NullPointerException的几种情况及相应解决方案: 1. 直接使用对象之前未检查对象是否为空 在Java编程中,我们经常会遇到这种情况:直接使用...